我不能让这个PHP数组为我返回任何值。CSV表由10个数字组成。我得到的唯一输出是"array“
$data = array();
if (($handle = fopen("fullbox.csv", "r")) !== FALSE) {
while(($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
$data[] = $row;
}
}
echo $data[1];任何帮助都将不胜感激。
发布于 2012-07-12 23:34:59
您的代码已经正确。
$data是多维数组,每个元素本身就是一个数组。当您使用echo $data[1]时,您要求PHP编写一个更复杂的数组变量的字符串表示,PHP通过输出array而不是其内容来处理该变量。
取而代之的是,使用var_dump()查看它包含的内容。
var_dump($data);可以通过如下方式访问单个值:
echo $data[1][0];注释后编辑
如果CSV每行只包含一个值,则在追加到输出数组时直接通过$row[0]访问它,以便将其作为一维数组:
if (($handle = fopen("fullbox.csv", "r")) !== FALSE) {
while(($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
$data[] = $row[0];
}
}
// $data is now a 1D array.
var_dump($data);发布于 2012-07-12 23:36:02
$data1是$data变量中的第二个元素($data将是第一个)。
您得到的是一个数组而不是一个值,这就是PHP回显单词array的原因。
这应该能更好地工作。
$data[0][0]您的$data变量是一个多维数组,并且您只深入了一层。
发布于 2012-07-12 23:36:26
这是因为$data1 是由CSV行中的10个数字组成的数组,所以$data现在是一个多维数组。echo $data[1][0]将输出其中一个数字
https://stackoverflow.com/questions/11455338
复制相似问题