В PHP существует множество встроенных функций для сортировки массива различными способами. Функция ksort() – одна из них. Эта функция используется для сортировки массива на основе его значения ключа и в основном используется для сортировки ассоциативного массива в порядке возрастания на основе ключа. В этом руководстве объясняется, как эту функцию сортировки можно использовать в массиве PHP.
Синтаксис:
bool ksort (array & $array [, int $sort_flags = SORT_REGULAR])
Эта функция может принимать два аргумента. Первый аргумент является обязательным, он принимает массив, который будет отсортирован по ключу. Второй аргумент является необязательным, и его можно использовать для изменения поведения сортировки. В качестве необязательного аргумента можно использовать любое из следующих значений.
SORT_REGULAR или 0: это значение по умолчанию, и элементы сортируются нормально.
SORT_NUMERIC или 1: используется для сортировки массива на основе числовых ключей.
SORT_STRING или 2: используется для сортировки массива на основе строковых ключей.
SORT_LOCALE_STRING или 3: он используется для сортировки массива на основе строковых ключей в текущей локали.
SORT_NATURAL или 4: используется для сортировки массива на основе строковых ключей в естественном порядке.
SORT_FLAG_CASE или 5: используется для сортировки массива на основе строковых ключей с учетом регистра.
В следующем примере показано использование ksort() без необязательного аргумента.
Сначала создайте файл PHP со следующим скриптом. В скрипте объявлен одномерный ассоциативный массив из четырех элементов. Здесь функция ksort() используется для сортировки массива по значениям ключей в порядке возрастания. Если в функции ksort() не используется необязательный аргумент, массив будет отсортирован обычным образом. Затем цикл foreach используется для печати отсортированного массива с ключами и значениями.
<? php // Объявить ассоциативный массив $clients = array ("c4089" => "AndreyEx", "c1289" => "Destroyer", "c2390" => "Master", "c1906" => "Elephant" ); // Применение по умолчанию ksort() ksort($clients); echo "<h2> Отсортированные значения массива: </h2>"; echo " $key = $value <br />"; } ?>
Вывод:
Следующий вывод появится после запуска сценария с сервера. Выходные данные показывают, что ключевые значения массива отсортированы.
В следующем примере показан способ сортировки одномерного числового массива с помощью функции ksort().
Сначала создайте файл PHP со следующим скриптом. Здесь объявлен ассоциативный массив из четырех элементов, где ключевые значения массива являются числовыми. 1 используется в качестве необязательного аргумента ksort() в сценарии, который используется для сортировки массива на основе значений числовых ключей. Затем цикл foreach используется для печати отсортированного массива.
<? php // Объявить ассоциативный массив $items = array(89564 => "Монитор", 98765 => "Мышь", 34234 => "Принтер", 18979 => "Сканер");// Применение ksort() с необязательным значением аргумента 1 ksort($items, 1); echo "<h2> Отсортированные значения массива: </h2>"; // Распечатываем значения массива после сортировки foreach($items as $key => echo " $key = $value <br />"; } ?>
Вывод:
Следующий вывод появится после запуска сценария с сервера. В выходных данных отображаются ключи и значения массива после сортировки массива на основе значений числовых ключей.
В следующем примере показан способ сортировки массива на основе ключа, в котором ключ будет отсортирован в естественном порядке. Это означает, что если ключ массива начинается с символа и заканчивается числом, то сортировка будет выполняться естественным образом.
Сначала создайте файл PHP со следующим скриптом. Здесь определяется ассоциативный массив из четырех элементов, а пара “ключ-значение” содержит как символы, так и числа. 4 используется во втором аргументе ksort() для естественной сортировки. Затем цикл foreach используется для печати отсортированного массива.
<? php // Объявление ассоциативного массива $ course = array('CSE408' => "Мультимедиа" , 'MAT201' => "Математика I" , 'CSE204' => "Алгоритмы" , 'PHY101' => "Физика I ");// Применение ksort() с необязательным значением аргумента 4 ksort($ course , 4); echo "<h2> Отсортированные значения массива: </h2>"; $value) { echo " $key = $value <br />"; } ?>
Вывод:
Следующий вывод появится после запуска сценария с сервера. На выходе показаны ключи и значения массива после естественной сортировки ключей массива.
В следующем примере показан способ сортировки ассоциативного массива на основе ключей, где значения ключей будут отсортированы с учетом регистра.
Сначала создайте файл PHP со следующим скриптом. В скрипте объявлен ассоциативный массив из пяти элементов. Ключевые значения массива содержат как строчные, так и заглавные буквы. Здесь 5 используется как значение второго аргумента ksort() для сортировки с учетом регистра. Затем цикл foreach используется для печати отсортированного массива.
<? php // Объявить ассоциативный массив $foods = array('cake' => "$20", 'Coke' => "$2", 'burger' => "$5", 'Pizza' => "$10", 'donut' => "$2");// Применение ksort() с необязательным значением аргумента 5 ksort($foods , 5); echo "<h2> // Распечатываем значения массива после сортировки по foreach ($food as $key => $value) { echo " $key = $value <br />"; } ?>
Вывод:
Следующий вывод появится после запуска сценария с сервера. В выходных данных показаны ключи и значения массива после сортировки ключей массива с учетом регистра. Ключевые значения массива – торт , кола , бургер , пицца и пончик . Заглавная буква меньше строчной буквы на основе кода ASCII. После сортировки с учетом регистра ключевыми значениями являются кока-кола , пицца , бургер , торт и пончик .
Различные способы сортировки массива на основе ключей с помощью функции ksort() были объяснены в этом руководстве с использованием нескольких примеров. Значения ключей сортируются на основе значения второго аргумента этой функции. Надеюсь, читатели смогут отсортировать массив по ключам с помощью PHP после прочтения этого руководства.