3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array ( "100" => array( array( "country" => 'France', "city" => 'Paris', "population" => '1800000', ), array( "country" => 'France', "city" => 'Paris', "population" => '2000000', ), array( "country" => 'France', "city" => 'Toulouse', "population" => '500000', ), ), "101" => array( array( "country" => 'Russia', "population" => '144000000', ) ) ); foreach($arr as $key => $sub){ foreach($sub as $item){ if(isset($item['city'])){ if(!isset($res[$key][$item['country'] . $item['city']])) $res[$key][$item['country'] . $item['city']] = $item; if($res[$key][$item['country'] . $item['city']] < $item['population']) $res[$key][$item['country'] . $item['city']] = $item; }else{ if(!isset($res[$key][$item['country']])) $res[$key][$item['country']] = $item; if($res[$key][$item['country']] < $item['population']) $res[$key][$item['country']] = $item; } } } var_dump($res);

preferences:
35.9 ms | 404 KiB | 5 Q