在foreach期间插入数组

时间:2015-02-05 18:19:58

标签: php arrays

我很确定答案是否定的,但是在foreach循环期间是否可以将某些内容插入到数组中?理想情况下,在循环期间您在阵列中的最佳位置。

例如:

foreach($stock->StockData as &$stock) {    
        if($dateTime < $stock['DateTime']) {
            // INSERT NEW RECORD AT THIS SPOT IN THE ARRAY
        }   
}

正如我所说,我相当肯定答案是否定的,但我没想到要建立一个新阵列,我想我会问。

2 个答案:

答案 0 :(得分:3)

我的立场得到了纠正!

http://docstore.mik.ua/orelly/webprog/php/ch05_07.htm

显然在PHP中这样做很好。

根据引用,当你启动foreach迭代器时,PHP对数组的副本进行操作,这意味着迭代器不会被foreach体内原始数组上的操作破坏!

答案 1 :(得分:1)

真的不希望改变正在迭代的对象。它会破坏你的迭代器/循环,并可能通过访问或更改你无法访问的内存来破坏脚本/程序,可能是因为数组大小减少了。