Php 在循环中多次写入文件,或者创建巨大的字符串,然后写入文件?

Php 在循环中多次写入文件,或者创建巨大的字符串,然后写入文件?,php,mysql,sql,io,Php,Mysql,Sql,Io,我只是想知道在PHP中哪一种被认为更有效 我需要循环查看MySQL结果并使用特定格式将其输出到文件中,我想知道创建一个巨大的字符串(我将浏览超过100000行)并将字符串写入文件,或者在查看结果时使用fwrite写入(附加)我想添加到文件中的内容是否更有效 从一开始,我相信使用一个很长的字符串将比继续写入文件更有效,但我想知道PHP在处理一个很长的字符串时是否会有任何问题 谢谢。如果您创建了一个大字符串,请尝试将所有值收集到一个数组中,并在写入之前将其连接在一起。字符串是不可变的,如果只是将值附

我只是想知道在PHP中哪一种被认为更有效

我需要循环查看MySQL结果并使用特定格式将其输出到文件中,我想知道创建一个巨大的字符串(我将浏览超过100000行)并将字符串写入文件,或者在查看结果时使用fwrite写入(附加)我想添加到文件中的内容是否更有效

从一开始,我相信使用一个很长的字符串将比继续写入文件更有效,但我想知道PHP在处理一个很长的字符串时是否会有任何问题


谢谢。

如果您创建了一个大字符串,请尝试将所有值收集到一个数组中,并在写入之前将其连接在一起。字符串是不可变的,如果只是将值附加到字符串,这将导致性能下降


最好的解决方案是收集1000个结果,将此部分写入文件,再收集1000个结果等等。

如果创建一个大字符串,请尝试将所有值收集到一个数组中,并在写入之前将其连接在一起。字符串是不可变的,如果只是将值附加到字符串,这将导致性能下降


最好的解决方案是收集1000个结果,将此部分写入一个文件,再收集1000个结果等等。

PHP不会有创建很长字符串的问题,但会占用大量内存。只要你有足够的可用内存,这就不会成为问题。从内存读取和写入要比向磁盘写入快得多,因此沿着内存路径进行可能是一种选择,尽管有100000行,您可以将其拆分,并充分利用这两个方面


我的意思是,每10000行将字符串附加到文件中,然后清空字符串,这样,您只需向文件写入10次,并在内存中存储少量数据。

PHP不会遇到创建很长字符串的问题,但会占用大量内存。只要你有足够的可用内存,这就不会成为问题。从内存读取和写入要比向磁盘写入快得多,因此沿着内存路径进行可能是一种选择,尽管有100000行,您可以将其拆分,并充分利用这两个方面


我的意思是每10000行将字符串附加到文件中,然后清空字符串,这样,您只需向文件写入10次,并在内存中存储少量数据。

因此,基本上您的问题不是您提到的内容,而是PHP在处理(非常)长的字符串方面是否有任何问题。是吗?@BhavikShah不,我的问题是我说的。哪个更有效?我相信构建一个巨大的字符串会更有效率,但我不完全确定,我担心的是PHP是否有任何字符串限制。因此,基本上你的问题不是你所提到的,而是PHP在处理(非常)长的字符串方面是否有问题。是吗?@BhavikShah不,我的问题是我说的。哪个更有效?我相信构建一个巨大的字符串会更有效率,但我不能完全确定,我担心的是PHP是否有任何字符串限制。数组将使用更多的内存来存储您的响应。这与囚犯的建议非常相似,所以我想这就是我要继续讨论的内容。你应该阅读关于在内存中构建大字符串的主题:数组将使用更多内存非常感谢你的响应。这与囚犯的建议非常相似,所以我想这就是我接下来要说的。你应该阅读这个关于在记忆中构建大字符串的主题:非常感谢你的回答。我想我会采纳你的建议。非常感谢你的回复。我想我会采纳你的建议。