我使用php ftp函数来获取filename =>来自ftp的filecontent关联数组。然后我遍历这个数组并执行我的操作。
服务器上有很多文件。我只想知道在使用该数据时是否可以使用yield关键字来减少内存使用量。
另外,我正在阅读csv文件并使用php中的csv函数循环其行。是否也可以在那里使用Yield关键字来减少内存消耗?
答案 0 :(得分:0)
服务器上有很多文件。我只想知道在使用该数据时是否可以使用yield关键字来减少内存使用量。
这要求您进行测试。它可能是,但您需要通过比较两种方式来衡量内存使用情况。您可以使用 DirectoryIterator 快速进行预测试,这可以让您在第一次启动时编写生成器。
另外,我正在阅读csv文件并使用php中的csv函数循环其行。是否也可以在那里使用Yield关键字来减少内存消耗?
或许,无论 SplFileObject 已经可以使用Traversable for CSV数据,您很可能不需要在这里重新发明轮子。
使用此类可遍历允许您稍后使用自己的生成器版本替换它们。因此,您应该能够轻松地比较不同的迭代策略。