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);
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 'data' => array ( 'raw' => array ( 'key1' => array ( 0 => 'value1', 1 => 'value1_1', 2 => 'value1_3', 3 => 'value1_4', 4 => 'value1_2', ), 'key3' => array ( 0 => 'value3', 1 => 'value3_1', 2 => 'value3_2', ), 'key2' => array ( 0 => 'value3_1', 1 => 'value2', ), ), ), )

preferences:
105.72 ms | 1694 KiB | 4 Q