foreach($items as item){
//在$items里面删除$item会影响循环的次数莫???
}
因为我的这个$items数组很长。里面的每个item我只需要使用一次。然后就不会使用了。
我的想法就是使用一个删除一个。这样循环的元素就会越来越少。这个循环的运行时间就会比原来短。这种认识合理莫???
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes)
测试的时候这个错误如何解???
How 'foreach' actually works
这个上面的回答很有深度,表示没怎么看明白,但是还是给题主献上。
不会的、实际行动告诉你。
这个时间不会节省吧,每次循环都要对数组剔除,取数组[0],这时间会比每次循环直接取数组[i]来的更浪费吧
要想知道结果,最好的方式就是亲自实践一下!
不会吧,游标还是会一直往前推进呀
不会,数组在遍历的时候是使用的其一个副本
并不会啊,自己动手实践一下就知道了
并不会删除,foreach在循环的时候,数组下标不断向前推,你操作一个删除一个并不会影响。
但是,我想说,这样操作对楼主所说的很长的数组操作有速度上的优化吗?好像并没有!
不必要删除...
foreach的实现方式是借助数组的内部指针的...你遍历完这一个,指针就向后移动一个,所以你删除前面的值对这个根本就没影响,反而会破坏这个数组,比如遍历后还要用到这数组呢,而且删除的过程虽然消耗时间不多,但也是要消耗的...