[英]associative to numeric array in PHP
我有一个关联数组,我想在数字中使用哪些键。 我的意思是:阵列有点像这样:
$countries = array
"AD" => array("AND", "Andorra"),
"BG" => array("BGR", "Bulgaria")
);
显然AD是0而BG是1,但是当我打印$countries[1]
它甚至不显示"Array"
。 当我打印$countries[1][0]
它也不会显示任何内容。 我有密钥的编号,但我不应该使用关联密钥。
array_values
完美用例:
$countries = array_values($countries);
然后,您可以通过索引检索值:
$countries[0][0]; // "AND"
$countries[0][1]; // "Andorra"
$countries[1][0]; // "BGR"
$countries[1][1]; // "Bulgaria"
array_keys()
将为您提供数组的键。 array_values()
将为您提供数组的值。 两者都将以数字方式编入索引。
你可以把它转换成数字数组:
$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
有几种解决方法可以获得你想要的东西。 除了制作辅助键映射数组,注入引用或ArrayAccess
包含数字和关联键的ArrayAccess
憎恶之外,您还可以使用:
print current(array_slice( current(array_slice($countries, 1)), 0));
对于$countries[1][0]
这是一个非常简单的解决方法。 请注意,数组键似乎仍然以相同的顺序出现; bemusing。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.