Php Can';即使在print_r()/var_dump()中显示,也不能访问数组元素
我得到一个错误: 注意:未定义索引:marca 当我尝试这样做时:Php Can';即使在print_r()/var_dump()中显示,也不能访问数组元素,php,arrays,indexing,encoding,file-encodings,Php,Arrays,Indexing,Encoding,File Encodings,我得到一个错误: 注意:未定义索引:marca 当我尝试这样做时: echo $data[0]['marca']; 但如果我打印数组,如下所示: print_r($data[0]); 输出为: Array ( [marca] => Jack&co [stock] => 10 [nome] => JW0114M2 [codice] => JW0114M2 [caratteristiche] => JW0114M2 Classe articolo: orol
echo $data[0]['marca'];
但如果我打印数组,如下所示:
print_r($data[0]);
输出为:
Array ( [marca] => Jack&co [stock] => 10 [nome] => JW0114M2 [codice] => JW0114M2 [caratteristiche] => JW0114M2 Classe articolo: orologio da polso Sesso: unisex Movimento: quarzo Bracciale: acciaio Tipologia: cronografo [prezzo al pubblico €] => 99,00 [sconto %] => 75 [prezzo orologistock €] => 25,00 [img] => http://orologistock.it/virtual_img/ )
//^^^^^ See the element exists!
那么为什么我不能访问数组元素呢
编辑:
带有var_dump($data[0])的源代码的输出代码>是:
array(9) { ["marca"]=> string(7) "Jack&co" ["stock"]=> string(2) "10" ["nome"]=> string(8) "JW0114M2" ["codice"]=> string(8) "JW0114M2" ["caratteristiche"]=> string(117) "JW0114M2 Classe articolo: orologio da polso Sesso: unisex Movimento: quarzo Bracciale: acciaio Tipologia: cronografo " ["prezzo al pubblico €"]=> string(5) "99,00" ["sconto %"]=> string(2) "75" ["prezzo orologistock €"]=> string(5) "25,00" ["img"]=> string(35) "http://orologistock.it/virtual_img/" }
我正在从.csv
文件获取阵列:
function csv_to_array($filename='', $delimiter=';')
{
if(!file_exists($filename) || !is_readable($filename))
return FALSE;
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
{
if(!$header){
$header = $row;
}
else{
if(count($row) == 9)
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
$data= csv_to_array($_FILES['data']['tmp_name']);
文件编码错误,将编码更改为UTF-8解决了问题。1。如果从源代码中获取,那么具体的输出是什么:var_dump($data[0])代码>2。如何创建此数组?请,请使用按钮并在那里添加输出,不要在注释中发布代码!编辑按钮的存在是有原因的,你可以自由使用它。如果这是一个只有一个条目的一维数组(看起来就是这样),那么简单的$data['marca']就足够了?@RamRaider你读过这个问题吗<代码>打印($data[0])代码>@cooper2。我读取了一个上传的csv文件,谢谢,我只是想接受这个答案,但有一个错误,我可以在2天内接受我自己的答案:/that's not a error@Cooper,这是系统在接受你自己的答案时的工作方式。