我有一个 260k 行的 csv 文件,它有两列。我已经使用 fgetcsv 读取了 csv 文件,并且有一个 while 循环读取文件中的每一行。在循环中,我试图将第二列中的值添加到数组中。
当我将行添加到数组中时,我的 PHP 冻结并且没有完成。我已经完成调试并且值被添加到数组中,所以我知道添加到数组和 while 循环可以工作,但我不知道它为什么会冻结。
如果我删除该行,while 循环将完成 260k 行,然后处理文件的其余部分。
这是我的代码:
$amountRecords = 0;
$totalValue = 0;
$valueArray = array();
// reads in csv file
$handle = fopen('Task1-DataForMeanMedianMode.csv', 'r');
// to skip the header names/values
fgetcsv($handle);
// creates array containing variables from csv file
while(($row = fgetcsv($handle, "\r")) != FALSE)
{
/*
echo "ROW CONTAINS: ";
var_dump($row[1]);
echo "<br />";
*/
$valueArray[] = $row[1];
/*
echo "VALUEARRAY NOW CONTAINS: ";
var_dump($valueArray);
echo "<br />";
*/
$totalValue = $totalValue + $row[1];
$amountRecords++;
}
以及 csv 文件样本:
ID,Value
1,243.00
2,243.00
3,243.00
4,243.00
5,123.11
6,243.00
7,180.00
8,55.00
9,243.00
10,55.00