PHP---引用使用foreach(xxx as &$x)注意点
啥是&赋值:
php中规定,使用“&”符号,可以将普通赋值改成内存地址
$a = 'sky'; $b = $a; $b = 'fly'; echo $a.' '.$b; //sky fly
$a = 'fly'; $b = &$a; //&符号的使用 $b = 'fly'; echo $name1.' '.$name2; //fly fly
&赋值的时候,视为一个变量定义了一个别名,增加了一个对内存空间的引用。改变其中一个,会影响其他的引用。而使用unset()时,只是断开了对变量内存空间的引用,内存空间不会释放。
foreach(xxx as &$x)使用注意:
平时在使用完“引用foreach”,可以看情况加上:unset($x);
foreach ($arr as $k => $v) {
unset($v); }