php的引用(就是在变量或者函数、对象等前面加上&符号)
作用类似于c语言中的指针,例如:
<?php
$a=1;
$b=&$a;
$b=5;
echo $a //输出5
?>
这里变量$b引用变量$a,相当于把$b的内存地址指向$a的内容所在内存地址,通过改变$b的值就可以改变$a的值了。
上面是变量引用,再来看看函数引用:
<?php
function &test(){
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b;
}
$a=test();//这条语句会输出 $b的值 为1
$a=5;
$a=test();//这条语句会输出 $b的值 为2
$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test();//这条语句会输出 $b的值 为6
?>
这部分是看的这篇博客PHP引用(&)使用详解,一下就懂了。
大意就是,函数引用就是将函数的reture的变量所在内存地址赋给一个变量。
例如上面这个例子就是把函数test()中return $b
中的$b的地址赋给$a=&test()
中的$a。