PHP 按引用返回
phpserver side programmingprogramming更新于 2025/8/19 16:37:17
简介
在 PHP中, 函数也可以返回引用。这对于查找应将引用绑定到哪个变量非常有用。要定义返回引用的函数,请在其名称前添加 & 符号。
示例
在以下示例中,myfunction() 定义为按引用返回。它包含一个静态变量,该变量的引用被返回并赋值给一个全局变量。局部静态变量的值也会改变其引用,并被赋值给外部变量。
示例
<?php
function &myfunction(){
static $x=10;
echo "x 在函数内部: ",$x, "
";
return $x;
}
$a=&myfunction(); // 函数中包含对 4x 的引用
echo "通过引用返回: ", $a, "
";
$a=$a+10; // 函数内部变量也自增
$a=&myfunction();
?>
输出
此示例输出如下
x 在函数内部: 10 通过引用返回: 10 x 在函数内部: 20
方法返回引用
类也可以有一个能够返回引用的方法。这样就可以从类外部更改私有实例变量的值。
示例
<?php
class myclass{
private $val;
function __construct($x){
$this->val=$x;
}
function &getbyref(){
return $this->val;
}
function getbyval(){
return $this->val;
}
}
$a=new myclass(10);
$b=&$a->getbyref();
$b=100;
echo "私有属性的值: ", $a->getbyval();
?>
输出
上述脚本的结果如下
私有属性的值: 100

