<?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