Мне нужно объединить эти два массива ($array2
в $array1
):
$array1 = array(
'data' => array(
array(
'raw' => array(
'key1' => array('value1', 'value1_1'),
'key3' => 'value3',
),
),
array(
'raw' => array(
'key1' => array('value10', 'value10_1'),
'key3' => 'value30',
),
),
...
),
);
$array2 = array(
'data' => array(
array(
'raw' => array(
'key1' => 'value1_2',
'key2' => 'value2',
)
)
)
);
Ожидаемый результат:
array(
'data' => array(
array(
'raw' => array(
'key1' => array('value1', 'value1_1', 'value1_2'),
'key2' => 'value2',
'key3' => 'value3',
),
),
array(
'raw' => array(
'key1' => array('value10', 'value10_1'),
'key3' => 'value30',
),
),
),
);
Когда я использую array_merge_recursive для объединения $array2
в $array1['data'][0]
, я получаю следующий результат:
$array1 = array(
'data' => array(
array(
'raw' => array(
'key1' => array('value1', 'value1_1'),
'key3' => 'value3',
),
),
array(
'raw' => array(
'key1' => array('value10', 'value10_1'),
'key3' => 'value30',
),
),
array(
'raw' => array(
'key1' => 'value1_2',
'key2' => 'value2',
)
)
),
);
Когда я использую array_replace_recursive , я получаю следующий результат:
$array1 = array(
'data' => array(
array(
'raw' => array(
'key1' => 'value1_2',
'key2' => 'value2',
'key3' => 'value3',
),
),
array(
'raw' => array(
'key1' => array('value10', 'value10_1'),
'key3' => 'value30',
),
),
),
);
Я ищу самый простой способ получить ожидаемый результат.
Массивы могут иметь неизвестную структуру данных deph и могут иметь более одного индексированного подмассива. Кажется, мне нужно сочетание между array_merge_recursive
и array_replace_recursive
Большое спасибо за ваши ответы:)