1.援用赋值标记&,是每次轮回的时刻,把当前元素变成地点,$value变量就是对应元素的地点,轮回完毕$value是一个指向末了一个元素的地点
2.当我下次轮回,使用了这类体式格局foreach($arr as $value) ,会涌现题目;foreach会把每一个元素赋值给背面的$value变量
3.因而,逻辑就变成了,把每一个元素修正给原数组的末了一个元素,末了一次轮回会一直是前一次的效果
4.最好不必援用通报,用这类情势$arr[$key]改原数组,或许在下次轮回时刻换一个变量名
$nums=array(1,2,3); foreach($nums as &$v){ var_dump($v); } /* int(1) int(2) int(3) */ var_dump($nums); /* array(3) { [0]=> int(1) [1]=> int(2) [2]=> &int(3) } */ foreach($nums as $v){ var_dump($v); } /* int(1) int(2) int(2) */
【相干教程:PHP视频教程】
以上就是[PHP] foreach轮回的援用赋值中涌现的题目的细致内容,更多请关注ki4网别的相干文章!