3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = array( 'data' => array( array( 'raw' => array( 'key1' => array('value1', 'value1_1'), 'key3' => 'value3', ), ), array( 'raw' => array( 'key1' => array('value1_3', 'value1_4'), 'key2' => 'value3_1', ), ), ), ); $array2 = array( 'data' => array( array( 'raw' => array( 'key1' => 'value1_2', 'key2' => 'value2', 'key3' => array('value3_1', 'value3_2'), ) ) ) ); foreach ($array1['data'] as $set) { foreach ($set['raw'] as $k => $v) { if (!isset($result['data']['raw'][$k])) { $result['data']['raw'][$k] = $v; }else { $result['data']['raw'][$k] = array_merge((array)$result['data']['raw'][$k],(array)$v); } } } foreach ($array2['data'] as $set) { foreach ($set['raw'] as $k => $v) { if (!isset($result['data']['raw'][$k])) { $result['data']['raw'][$k] = $v; }else{ $result['data']['raw'][$k] = array_merge((array)$result['data']['raw'][$k],(array)$v); } } } var_export($result);

preferences:
40.29 ms | 405 KiB | 5 Q