假设我有一个数组$arr
,我想将其内容写入文件$handle
。在PHP(5)中执行此操作的最快/最有效的方法是什么?
一些不同的选择:
使用implode:
将数组转换为字符串$string = implode($arr);
fwrite($handle, $string);
通过char将它写入char文件(看起来对我来说会慢一些):
foreach($arr as $char) {
fwrite($handle, $char);
}
使用.
运算符连接,然后写:
$string = '';
foreach($arr as $char) {
$string .= $char;
}
fwrite($handle, $string);
第三个看起来对我来说似乎是最慢的,因为我猜测fwrite和implode是用C语写的......但是这些天再次使用JIT编译可能它会优化连接没有函数调用开销。
其中哪一种 - 或其他方式 - 是最快的,为什么?
答案 0 :(得分:3)
不确定最快/最有效;但这会打开文件,将内爆数据写入文件并在一个函数中关闭文件:
file_put_contents('/path/to/file.txt', $arr);