$arr['class'] =array("a"=>"seven","b"=>"eight","c"=>"nine");
$arr['class']['a']['dress'] ="black";
$arr['class']['b']['dress'] ="Green";
$arr['class']['c']['dress'] ="Red";
我不明白为什么它会显示“非法字符串偏移”。 这是错误: 警告:第32行的C:\ Users \ ASIF IQBAL \ Desktop \ RUN \ mail.php中的非法字符串偏移'dress'
警告:第33行的C:\ Users \ ASIF IQBAL \ Desktop \ RUN \ mail.php中的非法字符串偏移'连衣裙'
警告:第34行的C:\ Users \ ASIF IQBAL \ Desktop \ RUN \ mail.php中的非法字符串偏移'连衣裙'
答案 0 :(得分:3)
$ arr ['class'] ['a']是一个字符串(5)“七”。
所以你要做的是“七”['dress']无法正常工作,因为字符串不是哈希表。
答案 1 :(得分:3)
我很遗憾地说这里的答案是错误的。 实际答案: 在php中,变量可以是数组或(非数组)。 例如:
$a= "555";
$a['o'] = 777;
这是错误的,因为$ a已经是非数组。如果您将删除第一行或第二行,您的代码将起作用。
在你的阵列中,同样的事情已经发生了。 $ arr ['class'] ['a']已经是非数组。所以打电话 $ arr ['class'] ['a'] ['dress']正在创建错误,因为它充当数组。 我想你会明白的。 祝你有美好的一天!!!!
答案 2 :(得分:2)
$arr['class'] =array("a"=>array("seven","dress"=>"black"),
"b"=>array("eight","dress"=>"Green"),
"c"=>array("nine","dress"=>"Red")
);
您的输出将是
Array
(
[class] => Array
(
[a] => Array
(
[0] => seven
[dress] => black
)
[b] => Array
(
[0] => eight
[dress] => Green
)
[c] => Array
(
[0] => nine
[dress] => Red
)
)
)
答案 3 :(得分:1)
你可以尝试
$arr['class']['a'][0]="seven";
$arr['class']['a']['dress'] ="black";
$arr['class']['b'][0]="eight";
$arr['class']['b']['dress'] ="green";
$arr['class']['c'][0]="nine";
$arr['class']['c']['dress'] ="red";