php – 在while循环中附加到数组是否安全?
发布时间:2020-12-13 16:05:56 所属栏目:PHP教程 来源:网络整理
导读:关于在使用foreach时操作数组的安全隐患,有很多问题.但是,我在while循环中找不到任何关于这样做的问题. 所以我想知道,这样做是否安全?下面是PHP中的示例脚本,我不确定这是否正常. while ($item = array_pop($array)) { findMoreItems($item,$array);}functi
关于在使用foreach时操作数组的安全隐患,有很多问题.但是,我在while循环中找不到任何关于这样做的问题.
所以我想知道,这样做是否安全?下面是PHP中的示例脚本,我不确定这是否正常. while ($item = array_pop($array)) { findMoreItems($item,$array); } function findMoreItems($item,&$array) { // Returns null if no more items are found $newItem = someFuncFromServer($item); if ($newItem) { array_push($array,$newItem); } } 安全我的意思是:我可以确定循环中没有跳过任何项目吗? 解决方法
您的代码基本上等同于:
$item = array_pop($array); while ($item) { findMoreItems($item,$array); $item = array_pop($array) } function findMoreItems($item,$newItem); } } 现在,如果你以上面的方式重写它,很明显代码不会做任何像复制引用或数组点或类似foreach所做的任何事情. foreach这样做是因为它依赖于array_pop和array_push所不具备的内部数组指针. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |