Как можно слить между двумя многомерными массивами уважаемые их ключи
Допустим, у меня есть следующие массивы:
Array
(
[2001] => Array
(
[event_detail] => Array
(
[1] => Array
(
[event_name] => Advocacy CPD 2019
[cpd_points] => 23
)
[5] => Array
(
[event_name] => Advocacy CPD 2019 new
[cpd_points] => 2
)
)
)
[2002] => Array
(
[event_detail] => Array
(
[2] => Array
(
[event_name] => Advocacy CPD 2011
[cpd_points] => 28
)
[4] => Array
(
[event_name] => Advocacy CPD 20195 new
[cpd_points] => 12
)
)
)
)
И второй:
Array
(
[2001] => Array
(
[event_detail] => Array
(
[1] => Array
(
[event_name] => Advocacy CPD 2020
[cpd_points] => 27
)
)
)
[2052] => Array
(
[event_detail] => Array
(
[2] => Array
(
[event_name] => Advocacy CPD 2052
[cpd_points] => 258
)
[4] => Array
(
[event_name] => Advocacy CPD 2019445 new
[cpd_points] => 78
)
)
)
)
И желаемый результат:
Array
(
[2001] => Array
(
[event_detail] => Array
(
[1] => Array
(
[event_name] => Advocacy CPD 2019
[cpd_points] => 23
)
[5] => Array
(
[event_name] => Advocacy CPD 2019 new
[cpd_points] => 2
)
[6] => Array
(
[event_name] => Advocacy CPD 2020
[cpd_points] => 27
)
)
)
[2002] => Array
(
[event_detail] => Array
(
[2] => Array
(
[event_name] => Advocacy CPD 2011
[cpd_points] => 28
)
[4] => Array
(
[event_name] => Advocacy CPD 20195 new
[cpd_points] => 12
)
)
)
[2052] => Array
(
[event_detail] => Array
(
[2] => Array
(
[event_name] => Advocacy CPD 2052
[cpd_points] => 258
)
[4] => Array
(
[event_name] => Advocacy CPD 2019445 new
[cpd_points] => 78
)
)
)
)
Проблема в том, что я хотел бы объединить эти массивы с одним и тем же идентификатором [2001,2005,2002]. Желаемая сортировка вывода должна быть такой же, как в первом массиве.
Мне удалось объединить эти массивы другим способом, но не получилось:
Как мне этого добиться? Буду признателен за любую оказанную помощь.
1 ответ
Решение
Довольно просто, просто зациклите второй массив и объедините, используя ключ к первому массиву:
foreach($array2 as $key => $val) {
$array1[$key]['event_detail'] = array_merge($array1[$key]['event_detail'],
$val['event_detail']);
}