I need to merge those two arrays ($array2 in $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',
)
)
)
);
Expected result :
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',
),
),
),
);
When I'm using array_merge_recursive to merge $array2 in $array1['data'][0], I've got the following result:
$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',
)
)
),
);
When I'm using array_replace_recursive, I've got the following result:
$array1 = array(
'data' => array(
array(
'raw' => array(
'key1' => 'value1_2',
'key2' => 'value2',
'key3' => 'value3',
),
),
array(
'raw' => array(
'key1' => array('value10', 'value10_1'),
'key3' => 'value30',
),
),
),
);
I'm looking for the simplest way to get the expected result.
The arrays can have an unknown deph data structure and it can have more than one indexed subarray. It seems I need a combinaison between array_merge_recursive and array_replace_recursive
Thanks a lot for your answers :)
datasubarray have more than one indexed subarray? If not, then I would argue that you should change your structure. ...Indexed arrays can really foul things up sometimes.