Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';即使在print_r()/var_dump()中显示,也不能访问数组元素_Php_Arrays_Indexing_Encoding_File Encodings - Fatal编程技术网

Php Can';即使在print_r()/var_dump()中显示,也不能访问数组元素

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

我得到一个错误:

注意:未定义索引:marca

当我尝试这样做时:

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,这是系统在接受你自己的答案时的工作方式。