ArrayObject::ksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::ksortСортировать записи по ключам

Описание

public function ArrayObject::ksort(int $flags = SORT_REGULAR): true

Сортирует массив по ключам, сохраняя отношения между ключами и значениями. Это полезно в основном для работы с ассоциативными массивами.

Замечание: Функция сохраняет первоначальный порядок элементов, если при сравнении значения двух элементов равны. До PHP 8.0.0 взаимный порядок одинаковых по значению элементов в отсортированном массиве оставался неопределённым.

Список параметров

flags
Необязательный второй параметр flags изменяет поведение сортировки и принимает следующие значения:

Флаги типов сортировки:

  • SORT_REGULAR — обычное сравнение элементов; подробности описаны в разделе операторы сравнения
  • SORT_NUMERIC — числовое сравнение элементов
  • SORT_STRING — строковое сравнение элементов
  • SORT_LOCALE_STRING — сравнение элементов как строк на основе текущего языкового стандарта. Флаг использует языковой стандарт, который доступен для изменения4 функцией setlocale()
  • SORT_NATURAL — сравнение элементов как строк на основе «естественного порядка» наподобие natsort()
  • SORT_FLAG_CASE — флаг объединяют через побитовое ИЛИ с флагом SORT_STRING или SORT_NATURAL для сортировки строк без учёта регистра

Возвращаемые значения

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.2.0 Вместо общего логического типа bool теперь возвращается конкретный тип true.

Примеры

Пример #1 Пример использования ArrayObject::ksort()

<?php
$fruits
= array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach (
$fruitArrayObject as $key => $val) {
echo
"$key = $val\n";
}
?>

Результат выполнения приведённого примера:

a = orange
b = banana
c = apple
d = lemon

Смотрите также

  • ArrayObject::asort() - Сортировать записи по значению
  • ArrayObject::natsort() - Сортировать массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортировать массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортировать записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортировать массив по ключам, используя пользовательскую функцию для сравнения
  • ksort() - Сортирует массив по ключу в порядке возрастания