这一课我不明白
老师,课程里面foreach在循环的时候unset了数组的一个元素,结果是不影响循环,却影响了数组
foreach在循环的时候添加一个元素,结果是影响了循环,也影响了数组
这是怎么回事
4
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕小尤
2019-06-05 10:39:24
同学你好,php7版本在foreach中删除数组中的某元素,不会影响循环中的数据。在foreach循环中删除了数组中的某元素,会影响到数组。代码如下:
<?php // foreach 通过值遍历时,操作的值为数组的副本 $arr=[0,1,2]; $ref=&$arr; // PHP7的新特性不会影响循环数据,而老版本会影响数据跳过1,输出0,2 foreach($arr as $val){ //$arr现在还是1,2,3在循环中删除数据1并没有影响到循环,所以输出$val是1,2,3 echo $val,'<br/>'; unset($arr[1]); } // 在循环里面删除1影响数据,所以最后输出0,2 var_dump($arr,$ref); echo '<hr/>';
祝学习愉快!
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星