Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的数字数组关联_Php_Arrays_Associative Array - Fatal编程技术网

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