1

为了更好地向您解释我的情况,我将对其进行描述并提供相应的伪代码(某种)。我处于两难境地,需要一些帮助。

所以我有这个功能被连续频繁地调用。在函数中,我有一个for循环,它根据提供的数据执行可变次数。在那个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 文件中,这样我就只有一个事务到文件,而不是我以前的无数交易。那么,这是我认为可能的,是正确的,还是有更好的方法呢?您能否在回答中提供可用的代码。谢谢你。

4

1 回答 1

0

这是在函数内部使用全局数组的方法

$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
)
于 2013-05-31T21:14:18.703 回答