3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{ "world": { "france": { "city": { "city_1": { "name": "paris", "titre": "lorem ipsum" }, "city_2": { "name": "marseille", "titre": "dolor sit amet" } } }, "usa": { "city": { "city_1": { "name": "new york", "titre": "lorem ipsum" }, "city_2": { "name": "los angeles", "titre": "lorem ipsum" }, "city_3": { "name": "portland", "titre": "lorem ipsum" } } } } }'; $data = json_decode($json, true); $options = []; foreach ($data['world'] as $country => ['city' => $cities]) { $options[] = sprintf( '<option data-city="%s">%s</option>', implode(',', array_column($cities, 'name')), $country ); } echo implode("\n", $options);

preferences:
25.97 ms | 407 KiB | 5 Q