PHP通过引用返回
介绍
在PHP中, 也可以使函数返回引用。这对于查找引用应绑定到哪个变量很有用。要定义一个返回引用的函数,请在其名称前加上&符号。
示例
在以下示例中,myfunction()定义为通过引用返回。它包含一个静态变量,其引用被返回并分配给全局变量。局部静态变量的值也会改变,其参考值被分配了不同的值。
示例
<?php function &myfunction(){ static $x=10; echo "x Inside function: ",$x,"\n"; return $x; } $a=&myfunction(); //contains reference to 4x in function echo "returned by reference: ", $a, "\n"; $a=$a+10; //increments variable inside function too $a=&myfunction(); ?>
输出结果
本示例给出以下输出
x Inside function: 10 returned by reference: 10 x Inside function: 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 "Value of private property: ", $a->getbyval(); ?>
输出结果
以上脚本的结果如下
Value of private property: 100