ksort

(PHP 4, PHP 5, PHP 7, PHP 8)

ksortСортирует массив по ключу в порядке возрастания

Описание

function ksort(array &$array, int $flags = SORT_REGULAR): true

Функция сортирует массив array по ключу в порядке возрастания.

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

Замечание: Функция сбрасывает внутренний указатель массива на первый элемент.

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

array

Входной массив.

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.
8.2.0 Теперь в режиме SORT_REGULAR функция сравнивает числовые строки по стандартным правилам PHP 8.

Примеры

Пример #1 Пример использования функции ksort()

<?php

$fruits
= array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

ksort($fruits);

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

?>

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

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

Пример #2 Пример сортировки функцией ksort() массива с целочисленными (int) ключами

<?php

$a
= [0 => 'First', 2 => 'Last', 1 => 'Middle'];

var_dump($a);
ksort($a);
var_dump($a);

?>

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

array(3) {
  [0]=>
  string(5) "First"
  [2]=>
  string(4) "Last"
  [1]=>
  string(6) "Middle"
}
array(3) {
  [0]=>
  string(5) "First"
  [1]=>
  string(6) "Middle"
  [2]=>
  string(4) "Last"
}

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