Во-первых, создайте отдельный массив для каждого города и вставьте их в новый массив, например:
$options = [
'option_3' => [
'Rio' => '18',
],
'option_4' => [
'Tokyo' => '20',
],
'option_5' => [
'Berlim' => '23',
]
];
$newOptions = [];
foreach($options as $key => $option) {
array_push($newOptions, [
'id' => $key,
'city' => key($option),
'price' => reset($option)
]);
}
Затем просто отсортируйте его в алфавитном порядке по значению каждого «города», используя usort()
usort($newOptions, function($a, $b) {
return strcmp($a['city'], $b['city']);
});
Наконец, вы можете просто сделать foreach в $newOptions
и отобразить все, что захотите, основываясь на ключах «id», «city» и «price».Пример:
foreach($newOptions as $option)
<tr>
<td><?php echo $option['id'];?></td>
<td><?php echo $option['city']?></td>
<td><?php echo $option['price']?></td>
<td><button type='submit'>Remove</button></td>
</tr>
Дайте мне знать, помогло ли это вам.