为什么我最后得到空白数组?

时间:2015-10-20 05:19:24

标签: php arrays csv

为什么我最后会得到空白数组?

我的PHP代码:

$name = $_FILES["csv"]["tmp_name"];
$file = fopen($name,"r");

while(!feof($file)){

    $row = fgetcsv($file);

    $data = array(
        "1"     =>$row[0],
        "2"     =>$row[1],
        "3"     =>$row[2],
        "4"     =>$row[3]
    );

    echo "<pre>";
    print_r($data);
}
fclose($file);

我的结果:

Array
(
    [1] => a
    [2] => b
    [3] => c
    [4] => d
)

Array
(
    [1] => e
    [2] => f
    [3] => g
    [4] => h
)

Array
(
    [1] => 
    [2] => 
    [3] => 
    [4] => 
)

2 个答案:

答案 0 :(得分:0)

尝试下面的代码。如果它仍然在结尾返回空数组,这意味着你的csv文件可能在最后一行的一个单元格中有空格。

 $name = $_FILES["csv"]["tmp_name"];

 $file = fopen($name,"r");

 while (($data = fgetcsv($file , 1000, ",")) !== FALSE) {

      echo "<pre>";

      print_r($data);

      echo "</pre>";

 }

 fclose($file);

答案 1 :(得分:0)

您只需使用“array_filter”功能删除空白数组,请查找包含所需完整代码的链接:https://eval.in/640133

您只需要映射并过滤结果数组以删除空数组。

由于