PHP如何优化在这种情况下写入文件


PHP how to optimize writing to file in this situation

为了更好地向您解释我的情况,我将描述它并提供相应的伪代码(有点)。我现在进退两难,需要一些帮助。

这个函数被连续频繁地调用。在函数中,我有一个for循环,它根据提供的数据执行可变次数。在for循环中有一个数组,它被填充了所有的数据。仍然在函数中,当的循环结束时,数组被写入CSV文件。然后停止执行。然而,正如我提到的,函数经常被一个接一个地调用,这导致在循环中填充数组然后写入文件的重复步骤。伪代码更好地说明了这种情况(不是我的实际代码,只是模型):

-call function stuff n times
               //Paragraph2 solution? -- global array declaration here ?
  function stuff
  {
    for loop(conditions)
    {
     array <= data
    }
    array => file   // Paragraph2 solution? -- Global array <= loop arrays 
 }
         // Paragraph2 solution? -- Global array => write to file

这很好。问题在于写入文件的速度。我认为它是受损的,因为所有的小数组不断写入到文件中。我想让for循环中的所有数组将它们的数据写入循环外的全局数组中,这样我就可以将包含所有数据的这个数组插入到CSV文件中,这样我就只有一个事务到文件中,而不是之前的无数事务。所以,这是我认为可能的吗,是正确的吗,还是有更好的方法?你能在你的回答中提供可用的代码吗?谢谢你。

这就是如何在函数

中使用全局数组
$stuff = array();
function add_stuff($new_stuff)
{
    global $stuff;
    $stuff[] = $new_stuff;
}
add_stuff("hello");
add_stuff("world");
print_r($stuff);

输出应该是:

Array
(
  [0] => hello
  [1] => world
)