我已经编写了几个页面和一些函数来将.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*
我读过的所有东西都让它看起来应该有效。我无法弄清楚如何获得我需要的东西。任何帮助表示赞赏。
答案 0 :(得分:0)
尝试检查数组对我看起来有多少元素,就像它只读取第一行并且数组长度为1一样。
echo("Array count: ".count($csv));