usort
usort
(PHP 3>= 3.0.3, PHP 4)
usort - сортирует массив по значениям, используя пользовательскую функцию сравнения.
Описание
void usort (array array, string cmp_function)
Эта функция отсортирует массив по значениям с помощью пользовательской функции сравнения. Если вам нужно нетривиально отсортировать массив, используйте её.
Функция обязана возвращать integer, меньше, равное или больше нуля, если первый аргумент рассматривается, соответственно, меньше, равным или больше секунды. Если два члена сравниваются как равные, их порядок в отсортированном массиве не определён.
Это пример выведет:
0: 6 1: 5 2: 3 3: 2 4: 1 |
Примечание: очевидно, что в этом тривиальном случае больше подходит rsort().
Пример 2. Использование usort() с многомерным массивом
|
При сортировке многомерного массива $a и $b содержат ссылки на первый индекс массива.
Этот пример выведет:
$fruits[0]: apples $fruits[1]: grapes $fruits[2]: lemons |
Примечание: вместо имени функции может быть предоставлен также массив, содержащий ссылку на объект и имя метода.
Пример 3. usort()-пример использования функции - члена объекта
|
Пример выведет:
b c d |
Предупреждение! |
---|
Лежащая в основе функция быстрой сортировки в некоторых C-библиотеках (как в системах Solaris) может вызвать облом PHP, если функция сравнения не возвращает подходящие значения. |
См. также uasort(), uksort(), sort(), asort(), arsort(), ksort(), natsort() и rsort().