在阅读PHP框架源码的时候,发现很多变量(参数)前面加了一个”&”符号,例如:&$list、&$name等,那么php在变量(参数)前加&是什么意思呢?

加上&符号表示引用,也就是引用传递,在PHP中函数或者变量都可以引用,结合下面的代码很好的理解这一概念。


<?php
$name = 'zhangsan';
$output = &$name; //表示$output 和 $name 引用同一个变量 
echo $output; //输出zhangsan
$name = 'lisi'; //$name重新赋值
echo $output; //输出lisi
unset($name);//销毁变量$name
echo $output;//这里仍输出lisi
$name = 'wangwu';
echo $output;//因为已经取消引用 这里仍输出lisi
?>