|
|
Написать письмо авторам | ||
УЧЕБНИК PHP |
справочник функций <Оnline> |
Об учебнике |
Обновление |
Функции сортировки массивов
sort()Функция сортировки массива по возрастанию. Синтаксис: void sort(array array [, int sort_flags]) Функция сортирует массив array по возрастанию. Необязательный аргумент sort_flags указывает как именно должны сортироваться элементы (задает флаги сортировки). Допустимыми значениями этого аргумента являются следующие:
Вообще говоря, эта функция предназначена для сортировки списков. Под списком понимается массив, ключи которого начинаются с нуля и не имеют пропусков. Функция sort() воспринимает любой массив как список. Рассмотрим примерчик. Пример:
Результат:
Заметим такую вещь. Если вы сортируете строки, т.е, к примеру, массив выглядит вот так
то эта чудо-функция вернет вам следующее: Результат:
Т.е. строки она сортирует в так называемом альфа-бета порядке, попросту говоря – по старшинству первой буквы в алфавите. rsort()Сортировка массива по убыванию. Синтаксис: void rsort(array arr [, int sort_flags]) Аналогична функции sort(), только сортирует по убыванию. Выполним тот же скрипт, что и для функции sort(), только вместо sort($arr) поставим rsort($arr). Результат:
asort()Сортировка ассоциативного массива по возрастанию. Синтаксис: void asort(array arr [, int sort_flags]) Функция asort() сортирует массив arr так, чтобы его значения шли в алфавитном (если это строки) или возрастающем (для чисел) порядке. Важное отличие этой функции от функции sort() состоит в том, что при применении функции asort()сохраняются связи между ключами и соответствующими им значениями, чего нет в функции sort() (там эти связи попросту разрываются). Пример:
Результат:
Т.е., как видим, связи "ключ-значение" сохранились. По умолчанию функция asort() сортирует массив в алфавитном порядке. Значения флагов сортировки sort_flags приведены в описании функции sort(). arsort()Сортировка ассоциативного массива по убыванию. Синтаксис: void arsort(array arr [, int sort_flags]) Эта функция аналогична функции asort(), только она упорядочивает массив не по возрастанию, а по убыванию. ksort()Сортировка массива по возрастанию ключей. Синтаксис: int ksort(array arr [, int sort_flags]) В этой функции сортировка осуществляется не по значениям, а по ключам в порядке их возрастания.
Результат:
krsort()Сортировка массива по убыванию индексов. Синтаксис: int krsort(array arr [, int sort_flags]) То же самое, что и функция ksort(), только упорядочивает массив по ключам в обратном порядке (по убыванию). array_reverse()Расстановка элементов массива в обратном порядке. Синтаксис: array array_reverse(array arr [, bool preserve_keys]) Функция array_reverse() возвращает массив, элементы которого следуют в обратном порядке относительно массива arr, переданного в параметре. При этом связи между ключами и значениями сохраняются. Можно еще необязательный параметр preserve_keys сделать true, тогда в обратном порядке переставятся еще и ключи. Своруем идейку примерчика на эту функцию из php-шного мануала:
Т.е., что получилось: В первом случае: Результат:
А если еще и второй параметр как true засобачить, то вот что выйдет: Результат:
shuffle()Перемешивание элементов массива случайным образом. Синтаксис: void shuffle(array arr) Функция shuffle() перемешивает элементы масиива arr случайным образом. natsort()Выполняет "естественную" сортировку массива. Синтаксис: void natsort(array arr) С такой сортировкой мы уже встречались, когда работали со строками. Поработаем с ней еще разок. Как помните, под естественной сортировкой понимается сортировка таким образом, когда элементы того, что сортируется располагаются в "понятном" для человека порядке. Пример:
Результат:
|
||||||||||||||||||||||||||||||||||||||||||
| Наверх |