PHP中的数字数组关联
我有一个关联数组,我想在数字中使用它。我的意思是:数组有点像这样:PHP中的数字数组关联,php,arrays,associative-array,Php,Arrays,Associative Array,我有一个关联数组,我想在数字中使用它。我的意思是:数组有点像这样: $countries = array "AD" => array("AND", "Andorra"), "BG" => array("BGR", "Bulgaria") ); 显然,AD是0,BG是1,但当我打印$countries[1]时,它甚至不显示“Array”。 当我打印$countries[1][0]时,它也不会显示任何内容。我有键的编号,但我不应该使用关联键。完美的用例: 然后,
$countries = array
"AD" => array("AND", "Andorra"),
"BG" => array("BGR", "Bulgaria")
);
显然,AD是0,BG是1,但当我打印$countries[1]
时,它甚至不显示“Array”
。
当我打印$countries[1][0]
时,它也不会显示任何内容。我有键的编号,但我不应该使用关联键。完美的用例:
然后,您可以通过索引检索这些值:
$countries[0][0]; // "AND"
$countries[0][1]; // "Andorra"
$countries[1][0]; // "BGR"
$countries[1][1]; // "Bulgaria"
将为您提供阵列的密钥。将为您提供数组的值。两者都将以数字形式编制索引。有两种变通方法可以满足您的需求。除了制作辅助键映射数组、注入引用或同时保存数字键和关联键的讨厌对象外,您还可以使用以下方法:
print current(array_slice( current(array_slice($countries, 1)), 0));
这是解决
$countries[1][0]
问题的有效方法。请注意,数组键仍然以相同的顺序出现;沉思。您可以将其转换为数字数组:
$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
您希望使用字符串键和数字键。为什么不使用具有id、代码、名称架构的SQL表来执行此操作?也许“
AD
是0
”这一点并不明显。也许这不是真的?fabianhjr:是的,我不能使用SQL表,因为脚本有很多模块,我不确定哪个使用哪个。KerrekSB:为什么?
$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