为了更好地向您解释我的情况,我将描述它并提供相应的伪代码(某种)。我处于两难境地,需要一些帮助。
所以我有这个连续和频繁调用的功能。在函数中,我有一个 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文件中,所以我只有一个事务到文件而不是我之前的无数交易。那么,这是我认为可能的,是正确的,还是有更好的方法呢?你可以在答案中提供可用的代码吗?谢谢。
答案 0 :(得分: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
)