3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arrayA = array( 0 => array( 'id' => 4701, 'start' => '2018-04-15 17:00:00', 'start2' => '2018-04-15 19:00:00', 'expiry' => '2018-04-16 01:00:00', 'expiry2' => '2018-05-16 03:00:00', 'threat' => 'Rain', 'level' => 2, 'last_updated' => '2018-05-09 14:11:54', 'created' => '2018-04-12 15:05:50', 'county' => 'Luzerne', 'state' => 'Pennsylvania', 'image' => '15238041824facec0b183878da58e007b4b6.png', ), 1 => array( 'id' => 4947, 'start' => '2018-04-26 11:11:00', 'start2' => '2018-04-26 15:10:00', 'expiry' => '2018-04-30 23:00:00', 'expiry2' => '2018-05-30 08:00:00', 'threat' => 'Thunderstorm', 'level' => 3, 'last_updated' => '2018-05-09 12:33:25', 'created' => '2018-04-26 15:11:45', 'county' => 'Yellowstone', 'state' => 'Montana', 'image' => '1524755505c1beae47ebbb285beaa6a1c672.png', ), 2 => array( 'id' => 4947, 'start' => '2018-04-26 11:11:00', 'start2' => '2018-04-26 15:10:00', 'expiry' => '2018-04-30 23:00:00', 'expiry2' => '2018-05-30 08:00:00', 'threat' => 'Thunderstorm', 'level' => 3, 'last_updated' => '2018-05-09 12:33:25', 'created' => '2018-04-26 15:11:45', 'county' => 'Luzerne', 'state' => 'Pennsylvania', 'image' => '1524755505c1beae47ebbb285beaa6a1c672.png', ), ); #print_r($arrayA); #echo "\n\r"; #echo "Looking to turn the above array into the array below:\n\r"; #print_r($arrayB); $result = []; foreach ($arrayA as $row) { $id = $row['id']; if (!isset($result[$id])) { $result[$id] = $row; $result[$id]['affected_locations'] = []; } $result[$id]['affected_locations'] []= $row; } $arrayB = array_values($result); print_r($arrayB);

preferences:
57.15 ms | 402 KiB | 5 Q