繁体   English   中英

在PHP中与数值数组相关联

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM