-1

我想将 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;
}

我不知道哪里出了问题。

4

1 回答 1

0

csvfile 正在被覆盖,而不是在循环的每次迭代中添加。

尝试替换$csvfile=$csv;$csvfile[]=$csv;. 这应该向数组中添加一个新元素。

于 2013-11-05T10:46:25.447 回答