Объединить два многомерных массива с одной парой ключей

1

У меня есть два многомерных массива с таким же количеством ключей, что и ниже

Array
(

[2012035] => Array
    (
        [first_name] => ABC
        [last_name] => DEF
    )

[2012045] => Array
    (
        [first_name] => GHI
        [last_name] => JKL
    )

[2012046] => Array
    (
        [first_name] => MNO
        [last_name] => PQR
    )

[2012050] => Array
    (
        [first_name] => STU
        [last_name] => VWX
    )
)

а также

Array
(

[2012035] => Array
    (
        [01-07-2015] => 123 
        [02-07-2015] => 456 
    )

[2012045] => Array
    (
        [01-07-2015] => 789 
        [02-07-2015] => 101112 
    )

[2012046] => Array
    (
        [01-07-2015] => 131415 
        [02-07-2015] => 161718 
    )

[2012050] => Array
    (
        [01-07-2015] => 192021 
        [02-07-2015] => 222324
    )
)

Теперь я хочу, чтобы результат был ниже

Array
(
[2012035] => Array
    (
        [first_name] => ABC
        [last_name] => DEF
        [01-07-2015] => 123 
        [02-07-2015] => 456 
    )

[2012045] => Array
    (
        [first_name] => GHI
        [last_name] => JKL
        [01-07-2015] => 789 
        [02-07-2015] => 101112
    )

[2012046] => Array
    (
        [first_name] => MNO
        [last_name] => PQR
        [01-07-2015] => 131415 
        [02-07-2015] => 161718
    )

[2012050] => Array
    (
        [first_name] => STU
        [last_name] => VWX
        [01-07-2015] => 192021 
        [02-07-2015] => 222324
    )
)

Я могу сделать это с помощью foreach в PHP.

Но есть ли встроенная функция PHP, которая может выполнять эту работу без использования foreach?

  • 0
    Если бы у ваших массивов были строковые ключи (а не целые числа), я бы сказал, что array_merge_recursive .
  • 0
    @agmangas без цикла, я бы сказал, что array_merge_recursive не array_merge_recursive , но с простым циклом for array_merge_recursive определенно является одним из возможных решений.
Теги:

1 ответ

2
Лучший ответ

Я думаю, это может сработать для вас:

$arr_1 = array(333 => array('a1' => 1));
$arr_2 = array(333 => array('a2' => 2), 444 => array('a3' => 3));

$arr_res = array_replace_recursive($arr_1, $arr_2);
var_dump($arr_res);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню