尝试在PHP中访问二维数组时出错

时间:2014-08-19 00:16:01

标签: php

我已经编写了几个页面和一些函数来将.csv文件转换为数组,之后我将使用该数组来访问和使用数据。大多数代码都已到位并且可以工作,但我仍然试图访问我想要的字段。

创建数组的代码如下所示:

//code for accepting and checking the uploaded file
if($ext === 'csv'){
        if(($handle = fopen($tmpName, 'r')) !== FALSE) {


            set_time_limit(0);

            //index
            $row = 0;

            while(($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
                // number of fields in the csv
                $num = count($data);
                /*echo "<p> $num fields in line $row: <br /></p>\n";*/

                // get the values from the csv
                $csv[$row]['row1'] = $data[0];
                $csv[$row]['row2'] = $data[1];
                $csv[$row]['row3'] = $data[2];
                $csv[$row]['row4'] = $data[3];

                //increment 
                $row++;
            }

            print_array($csv[1][0]);
            fclose($handle);
        }
    }

当我打电话给print_array($csv[1];时,结果是:

Array
(
    [row1] => DataOne
    [row1] => DataTwo
    [row1] => DataThree
    [row1] => DataFour
) 

但是当我致电print_array($csv[1][1]);时,我收到错误:Notice: Undefined Offset: 1 On line *and so on*

我读过的所有东西都让它看起来应该有效。我无法弄清楚如何获得我需要的东西。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试检查数组对我看起来有多少元素,就像它只读取第一行并且数组长度为1一样。

echo("Array count: ".count($csv));