我想将csv文件的所有内容提取到数组中,因此我使用了fgetcsv
函数。它工作正常,但是当我想要返回我的数组时,它是空的。问题似乎是在while循环之外。
这是我的代码:
$filepath="Data\";
$csvfile=array(); /* here i did declaration */
$csvfile=csvcontain($filepath);
print_r($csvfile); /*prints empty array */
function csvcontain($filepath)
{
foreach (glob($filepath."*."."csv") as $filename)
{
$file_handle = fopen($filename, 'r');
while (!feof($file_handle))
{
$csv=fgetcsv($file_handle, 1024);
$csvfile=$csv;
}
}
fclose($file_handle);
return $csvfile;
}
我没有得到它出错的地方。
答案 0 :(得分:0)
正在覆盖csvfile,而不是在循环的每次迭代中添加。
尝试将$csvfile=$csv;
替换为$csvfile[]=$csv;
。这应该为数组添加一个新元素。