我有这3个阵列
全局数组
array(5) { [0]=> array(1) { ["shout_id"]=> string(1) "4" }
[1]=> array(1) { ["shout_id"]=> string(1) "6" }
[2]=> array(1) { ["shout_id"]=> string(2) "16" }
[3]=> array(1) { ["shout_id"]=> string(2) "17" }
[4]=> array(1) { ["shout_id"]=> string(2) "20" } }
本地数组
array(1) { [0]=> array(1) { ["shout_id"]=> string(2) "13" } }
国家/地区数组
array(1) { [0]=> array(1) { ["shout_id"]=> string(2) "19" } }
当我合并所有3我得到这个
结果数组
array(5) { [0]=> array(1) { ["shout_id"]=> string(2) "19" }
[1]=> array(1) { ["shout_id"]=> string(1) "6" }
[2]=> array(1) { ["shout_id"]=> string(2) "16" }
[3]=> array(1) { ["shout_id"]=> string(2) "17" }
[4]=> array(1) { ["shout_id"]=> string(2) "20" } }
然而,这就是我想要的
array(7) { [0]=> array(1) { ["shout_id"]=> string(2) "19" }
[1]=> array(1) { ["shout_id"]=> string(1) "6" }
[2]=> array(1) { ["shout_id"]=> string(2) "16" }
[3]=> array(1) { ["shout_id"]=> string(2) "17" }
[4]=> array(1) { ["shout_id"]=> string(2) "20" }
[5]=> array(1) { ["shout_id"]=> string(2) "4" }
[6]=> array(1) { ["shout_id"]=> string(2) "13" } }
由于某种原因,它错过了值4和13,我无法理解为什么。
以下是组合数组的代码
$result_array = $country_array + $global_array + $local_array;
答案 0 :(得分:1)
使用array_merge
,它使用数字键连接数组。
$result_array = array_merge($country_array, $global_array, $local_array);
+
用相同的键替换元素。
答案 1 :(得分:0)
尝试
$result_array = array_merge($country_array, $global_array, $local_array);
你正在做的是在PHP中称为'union'运算符。 它基于键来合并数组(有关详细信息,请参阅:http://us3.php.net/manual/en/language.operators.array.php)。
因为你有数字键(例如键0的三倍),它们将被覆盖。