-1

我得到错误:

注意:未定义索引: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']);
4

1 回答 1

0

文件编码错误,将编码更改为 UTF-8 解决了问题。

于 2015-05-01T10:51:42.450 回答