我很确定答案是否定的,但是在foreach
循环期间是否可以将某些内容插入到数组中?理想情况下,在循环期间您在阵列中的最佳位置。
例如:
foreach($stock->StockData as &$stock) {
if($dateTime < $stock['DateTime']) {
// INSERT NEW RECORD AT THIS SPOT IN THE ARRAY
}
}
正如我所说,我相当肯定答案是否定的,但我没想到要建立一个新阵列,我想我会问。
答案 0 :(得分:3)
我的立场得到了纠正!
http://docstore.mik.ua/orelly/webprog/php/ch05_07.htm
显然在PHP中这样做很好。
根据引用,当你启动foreach迭代器时,PHP对数组的副本进行操作,这意味着迭代器不会被foreach体内原始数组上的操作破坏!
答案 1 :(得分:1)
你真的不希望改变正在迭代的对象。它会破坏你的迭代器/循环,并可能通过访问或更改你无法访问的内存来破坏脚本/程序,可能是因为数组大小减少了。