为了更好地向您解释我的情况,我将描述它并提供相应的伪代码(有点)。我现在进退两难,需要一些帮助。
这个函数被连续频繁地调用。在函数中,我有一个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
)