我想通过索引来访问关联数组中的信息,如此
$arr = Array(
['mgm19'] => Array(
['override'] => 1
)
);
$override1 = $arr['mgm19']['override'];
$override2 = $arr[0]['override'];
但是我从override2中得不到什么为什么?
答案 0 :(得分:4)
因为$arr
只有一个索引mgm19
。索引0
没有任何关联。如果您不知道索引或不想使用它,请使用foreach
:
foreach($arr as $value) {
echo $value['override'];
break; /* breaking so that we only read the first value of the array */
}
答案 1 :(得分:2)
php.net/manual/en/language.types.array.php“索引和关联数组类型在PHP中是相同的类型,它们都可以包含整数和字符串索引。”我可能错了,但这是否意味着它应该已经包含数字索引?
不,它说你可以使用数字和字符串标记,而不是你可以使用其中一个来访问它们。请记住,键是唯一的值标识符,如果您允许使用数字或字符串,则无法使用数组中的数字位置访问它们,请使用以下数组:
$arr = Array(
[mgm19] => Array(
[override] => 1
),
[0] => Array(
[override] => 1
)
);
我们允许将混合数据类型作为键,并且您无法访问[mgm19]
作为[0]
的原因是因为这不是它的关键。
我希望这是有道理的:P
答案 2 :(得分:2)
$arr = Array(
['mgm19'] => Array(
['override'] => 1
)
);
$override1 = $arr['mgm19']['override'];
$arrkeys = array_keys($arr);
$override2 = $arr[$arrkeys[0]]['override'];
答案 3 :(得分:0)
我想看看这个函数,http://www.php.net/manual/en/function.array-values.php看起来可能有帮助:)
答案 4 :(得分:0)