Как отсортировать массив по ключам
Короткий ответ
ksort() сортирует массив по ключам, сохраняя значения при них:
<?php
$prices = ['tea' => 250, 'coffee' => 400, 'juice' => 180];
ksort($prices);
echo json_encode($prices);Результат:
{"coffee":400,"juice":180,"tea":250}В обратном порядке
Для этого есть krsort():
<?php
$sales = [2024 => 120, 2026 => 310, 2025 => 200];
krsort($sales);
echo json_encode($sales);Результат:
{"2026":310,"2025":200,"2024":120}Свой порядок
uksort() принимает функцию сравнения ключей:
<?php
$order = ['low' => 1, 'medium' => 2, 'high' => 3];
$tasks = ['high' => 2, 'low' => 5, 'medium' => 1];
uksort($tasks, fn ($a, $b) => $order[$a] <=> $order[$b]);
echo implode(', ', array_keys($tasks));Результат:
low, medium, high