我有一个关联数组,我想在数字中使用哪些键。我的意思是:阵列有点像这样:
$countries = array
"AD" => array("AND", "Andorra"),
"BG" => array("BGR", "Bulgaria")
);
显然AD为0且BG为1,但是当我打印$countries[1]
时,它甚至不显示"Array"
。
当我打印$countries[1][0]
时,它也不会显示任何内容。我有密钥的编号,但我不应该使用关联密钥。
答案 0 :(得分:12)
array_values
的完美用例:
$countries = array_values($countries);
然后您可以按索引检索值:
$countries[0][0]; // "AND"
$countries[0][1]; // "Andorra"
$countries[1][0]; // "BGR"
$countries[1][1]; // "Bulgaria"
答案 1 :(得分:2)
array_keys()
将为您提供数组的密钥。 array_values()
将为您提供数组的值。两者都将以数字方式编入索引。
答案 2 :(得分:1)
您可以将其转换为数字数组:
$countries = array(
"AD" => array("AND", "Andorra"),
"BG" => array("BGR", "Bulgaria")
);
$con=array();
$i=0;
foreach($countries as $key => $value){
$con[$i]=$value;
$i++;
}
echo $con[1][1];
//the result is Bulgaria
答案 3 :(得分:0)
有几种解决方法可以满足您的需求。除了制作辅助键映射数组,注入引用或同时包含数字和关联键的ArrayAccess
憎恶之外,您还可以使用它:
print current(array_slice( current(array_slice($countries, 1)), 0));
$countries[1][0]
这是一个非常简单的解决方法。请注意,数组键似乎仍然以相同的顺序出现; bemusing。