How to display with such a view that it was

Region name: city, town, city

$cities = [ 'Московская область' => [ 'Москва', 'Зеленоград', 'Клин' ], 'Иркутская область' => [ 'Иркутск', 'Ангарск', 'Братск', 'Железногорск-Илимский' ], 'Красноярский край' => [ 'Красноярск', 'Артёмовск', 'Енисейск' ] ]; foreach ($cities as $reg => $city) { foreach ($city as $city_val) { echo("$reg: $city_val"); } } 

    1 answer 1

    Use implode :

     $cities = [ 'Московская область' => [ 'Москва', 'Зеленоград', 'Клин' ], 'Иркутская область' => [ 'Иркутск', 'Ангарск', 'Братск', 'Железногорск-Илимский' ], 'Красноярский край' => [ 'Красноярск', 'Артёмовск', 'Енисейск' ] ]; foreach ($cities as $reg => $list) { echo $reg, ': ', implode(', ', $list), PHP_EOL; } 
    • Then it's better this way: array_walk($cities, function($v, $k) {echo "$k: ", implode(', ', $v), PHP_EOL;}); - greg zakharov
    • @gregzakharov, What is your difference between a loop and an array_walk call? - vp_arth