foreach在循环中修改其值导致意外的行为
<?php $a = array(1,2,3); foreach($a as &$item){ } /* 此时 $item指向第三个元素, 然后将第三个元素赋值为数组第一个元素的值1, array (size=3) 0 => int 1 1 => int 2 2 => int 1// 3变1 将第三个元素赋值为数组的第二个元素的值2, array (size=3) 0 => int 1 1 => int 2 2 => int 2// 1变2 将第三个元素赋值为数组的第三个元素的值2 array (size=3) 0 => int 1 1 => int 2 2 => int 2// 2变2 */ foreach($a as $item){ var_dump($a); echo $item . '</br>'; }

浙公网安备 33010602011771号