3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array( 98 => array( 'City' => 'Caracas', 'Country' => 'Venezuela', 'Continent' => 'Latin America', ), 99 => array( 'City' => 'Cairo', 'Country' => 'Egypt', 'Continent' => 'Middle East', ), 105 => array( 'City' => 'Abu Dhabi', 'Country' => 'United Arab Emirates', 'Continent' => 'Middle East', ), 106 => array( 'City' => 'Dubai', 'Country' => 'United Arab Emirates', 'Continent' => 'Middle East', ), 107 => array( 'City' => 'Montreal', 'Country' => 'Canada', 'Continent' => 'North America', ) ); $result = []; foreach ( $array as [ 'Continent' => $a, 'Country' => $b, 'City' => $result[$a][$b][] ] ); var_export($result);
Output for 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 'Latin America' => array ( 'Venezuela' => array ( 0 => 'Caracas', ), ), 'Middle East' => array ( 'Egypt' => array ( 0 => 'Cairo', ), 'United Arab Emirates' => array ( 0 => 'Abu Dhabi', 1 => 'Dubai', ), ), 'North America' => array ( 'Canada' => array ( 0 => 'Montreal', ), ), )

preferences:
82.62 ms | 407 KiB | 5 Q