即使在print_r()/ var_dump()中显示,也无法访问数组元素

时间:2015-05-01 10:16:17

标签: php arrays indexing encoding file-encodings

我收到错误:

  

注意:未定义的索引:marca

当我尝试这样做时:

import java.io.*;
public class StringTest {

static boolean test(String n){
    int l=n.length();
    for(int i=0;i<l;i++)
        if(n.charAt(i)!='d'&&n.charAt(i)!='r'&&n.charAt(i)!='m'&&n.charAt(i)!='f'&&n.charAt(i)!='s'&&n.charAt(i)!='1'&&n.charAt(i)!='t'&&n.charAt(i)!=' ')
            return false;

    return true;
}
public static void main(String args[])throws IOException{
    boolean n=test("RAHUL");
    System.out.println(n);
    n=test("drmfs1t");
    System.out.println(n);
    n=test(" ");
    System.out.println(n);
    n=test("");
    System.out.println(n);
}
}

但如果我打印数组,就像这样:

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

1 个答案:

答案 0 :(得分:0)

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