我对foreach循环有一些内存问题。
我有一个大型数组,里面装满了我想循环的对象(用于将数据导出到excel表中)。
当我使用foreach循环遍历数组时,我得到了一个“内存不足”的状态。错误。当我每100次迭代回显memory_get_usage()时,我可以看到内存填满了。
当我在for循环中更改foreach循环时,内存使用率始终保持较低。为什么呢?
在两个循环结束时,我取消设置$ object(和$ objects [$ key])。我可以看到每个特定对象的__destruct()方法在每次迭代结束时被触发(在我取消设置对象之后)。记忆似乎还没有在foreach循环中释放出来。
所以我的问题是,为什么内存会在foreach循环中填满?有没有办法解决这个问题?