我想在PHP中组合两个多维数组。在PHP中合并两个多维数组
的print_r($ array_a):
Array
(
[0] => Array
(
[0] => A
[1] => 0
[2] => 1047
)
[1] => Array
(
[0] => B
[1] => 0
[2] => 279
)
[2] => Array
(
[0] => C
[1] => 0
[2] => 68
)
[3] => Array
(
[0] => D
[1] => 0
[2] => 4
)
)
的print_r($ array_b):
Array
(
[0] => Array
(
[0] => A
[1] => 76
[2] => 0
)
[1] => Array
(
[0] => B
[1] => 170
[2] => 0
)
[2] => Array
(
[0] => C
[1] => 15
[2] => 0
)
[3] => Array
(
[0] => D
[1] => 210
[2] => 0
)
[4] => Array
(
[0] => E
[1] => 287
[2] => 0
)
)
然后将其合并,其结果应该是这样的:
Array
(
[0] => Array
(
[0] => A
[1] => 76
[2] => 1047
)
[1] => Array
(
[0] => B
[1] => 170
[2] => 279
)
[2] => Array
(
[0] => C
[1] => 15
[2] => 68
)
[3] => Array
(
[0] => D
[1] => 210
[2] => 4
)
[4] => Array
(
[0] => E
[1] => 287
[2] => 0
)
)
所以逻辑关键是基于每个数组(A,B,C,D)的第一个值合并两个数组。如果只有一个数组只属于一个数组(例如,array_b上的“E”),我只需添加它们即可。 我尝试这样做:
foreach($array_a as $a=>$array_now){
foreach($array_b as $b=>$array_before){
if($array_now[0] == $array_before[0]){
$array_a[$a] = [$array_before[0], $array_before[1], $array_now[2]];
}
}
}
但我似乎无法添加缺少的阵列(在$ array_b第5阵列包含“E”)。
你正在使用哪个PHP版本? –
你可以通过手动foreach和合并它 – RJParikh
[PHP:合并2多维数组]可能的副本(http://stackoverflow.com/questions/1558291/php-merge-2-multidimensional-array) –