Я хочу объединить два многомерных массива в 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). И если есть массив, который принадлежит только одному из массива (например, «E» на array_b), я просто добавляю их. Я попытался это:
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]];
}
}
}
Но я не могу показаться, чтобы добавить недостающий массив (5-й массив в $ array_b, которые содержат «E»).
какая версия PHP вы используете? –
вы можете сделать это вручную foreach и слить его – RJParikh
Возможный дубликат [PHP: Merge 2 многомерных массивов] (http://stackoverflow.com/questions/1558291/php-merge-2-multidimensional-arrays) –