1.引用(&)的概念:不同的名字访问同一变量内容。
2.传值的一个小误区。
$a=1;
$b=$a;//这一步是不是认为$b开辟一个新的内存空间,其实现在$a跟$b指向同一内存空间
$a=2;//对$a进行修改,这时$a改变了,$a才重新开辟了一个内存空间,这叫COW机制(COW Copy On Write)
3.unset()
$a=1; //定义$a
$b=&$a; //$a和$b指向同一内存空间
unset($b); //只会销毁引用,不会销毁空间
return $a; //输出1
4.关于引用经典笔试题
<?php
function quote(){
$arr=['a','b','c'];
foreach ($arr as $k => $v)
{
$v=&$arr[$k];
print_r($arr);echo "<br/>";
}
return $arr;
}
print_r(quote());
//输出结果 b,b,c
?>
解题思路(上图):