<?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);
- Output for 7.4.0 - 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.26, 8.4.1 - 8.4.13
- <option data-city="paris,marseille">france</option>
<option data-city="new york,los angeles,portland">usa</option>
preferences:
120.02 ms | 407 KiB | 5 Q