
7. Лекция: Работа с массивами данных » Лекции по PHP » Библиотека » WAP.ZUGDIDI.US
Привет прохожий!
ункцией ksort() для сортировки по возрастанию (прямой порядок сортировки) или krsort() – для сортировки по убыванию (обратный порядок сортировки). Синтаксис этих функций опять же аналогичен синтаксису функции sort().
<?php
$books = array("Пушкин"=>"Руслан и Людмила", "Толстой"=>"Война и мир", "Лермонтов"=>"Герой нашего времени");
ksort($books); // сортируем массив, сохраняя значения ключей
print_r($books);
?>
Получим:
Array ( [Лермонтов] => Герой нашего времени
[Пушкин] => Руслан и Людмила
[Толстой] => Война и мир )
Сортировка с помощью функции, заданной пользователем
Кроме двух простых способов сортировки значений массива (по убыванию или по возрастанию) PHP предлагает пользователю возможность самому задавать критерии для сортировки данных. Критерий задается с помощью функции, имя которой указывается в качестве аргумента для специальных функций сортировки usort() или uksort(). По названиям этих функций можно догадаться, что usort() сортирует значения элементов массива, а uksort() – значения ключей массива с помощью определенной пользователем функции. Обе функции возвращают true, если сортировка прошла успешно, и false – в противном случае. Их синтаксис выглядит следующим образом:
usort (массив, сортирующая функция);
uksort (массив, сортирующая функция);
Конечно же, нельзя сортировать массив с помощью любой пользовательской функции. Эта функция должна удовлетворять определенным критериям, позволяющим сравнивать элементы массива. Как должна быть устроена сортирующая функция? Во-первых, она должна иметь два аргумента. В них интерпретатор будет передавать пары значений элементов для функции usort() или ключей массива для функции uksort(). Во-вторых, сортирующая функция должна возвращать:
целое число, меньшее нуля, если первый аргумент меньше второго;
число, равное нулю, если два аргумента равны;
число большее нуля, если первый аргумент больше второго.
Как и для других функций сортировки, для функции usort() существует
Комментарии (0)
Скачать Java книгу
» Лекции по PHP
» WEB/WAP мастеру
» В библиотеку
Cжатие 65%