php为什么运行了一段时间后才报内存溢出?

我一次性从数据库读取了10万条数据,然后循环做一些计算,循环过程中,涉及到的变量都会被下次循环覆盖掉,现在的情况是程序运行了一段时间之后,报内存溢出,为什么不是刚开始的时候就报内存溢出?按照我的理解,我并没有用变量一直去存运算结果,所以如果说内存溢出的话,应该就在一开始就报了啊。

阅读 4.2k
评论
    5 个回答
    • 9.4k

    php version 5.5+

    • 循环中使用yield关键字,迭代中的中间变量可以不占用额外的内存空间

    例:

    for($i = 1; $i <= 10; $i += 1)
            yield $i;
      相似问题
      推荐文章