Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как отсортировать массив по ключам

Короткий ответ

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

Функции из этого ответа

  • ksort — Сортирует массив по ключам.
  • krsort — Сортирует массив по убыванию ключей.
  • uksort — Сортирует массив по ключам с помощью своей функции сравнения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.