Перейти к основному содержимому

PHP - Функции сортировки массивов

PHP может упорядочивать элементы массива по алфавиту или по числовому значению и в любом направлении: по возрастанию (от меньшего к большему) или по убыванию (от большего к меньшему).

Шесть функций покрывают обычные случаи:

  • sort() — упорядочивает индексированный массив от меньшего к большему
  • rsort() — упорядочивает индексированный массив от большего к меньшему
  • asort() — упорядочивает ассоциативный массив от меньшего к большему по значению
  • ksort() — упорядочивает ассоциативный массив от меньшего к большему по ключу
  • arsort() — упорядочивает ассоциативный массив от большего к меньшему по значению
  • krsort() — упорядочивает ассоциативный массив от большего к меньшему по ключу

PHP sort() - Сортировка массива в возрастающем порядке

Вызовите sort() для индексированного массива, чтобы расположить его элементы в порядке возрастания.

Сортировка строк в возрастающем порядке

Расположите названия в $cars в алфавитном порядке, от A до Z:

Prompt
Напишите PHP-скрипт, который создаёт массив со значениями "Volvo", "BMW", "Toyota", сортирует его по алфавиту в возрастающем порядке с помощью sort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

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

Расположите значения в $numbers по порядку, начиная с наименьшего:

Prompt
Напишите PHP-скрипт, который создаёт массив со значениями 4, 6, 2, 22, 11, сортирует его по числам в возрастающем порядке с помощью sort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

PHP rsort() - Сортировка массива в убывающем порядке

rsort() делает обратное: располагает индексированный массив в порядке убывания.

Сортировка строк в убывающем порядке

Расположите названия в $cars в обратном алфавитном порядке, от Z до A:

Prompt
Напишите PHP-скрипт, который создаёт массив со значениями "Volvo", "BMW", "Toyota", сортирует его по алфавиту в убывающем порядке с помощью rsort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

Сортировка чисел в убывающем порядке

Расположите значения в $numbers по порядку, начиная с наибольшего:

Prompt
Напишите PHP-скрипт, который создаёт массив со значениями 4, 6, 2, 22, 11, сортирует его по числам в убывающем порядке с помощью rsort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

PHP asort() и arsort() - Сортировка ассоциативного массива (значение)

asort() упорядочивает ассоциативный массив по значениям, начиная с наименьшего, и каждый ключ остаётся связанным со своим значением.

Сортировка ассоциативного массива по значению в возрастающем порядке

Упорядочьте массив $age от самого молодого человека к самому старшему:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив с "Peter"=>"35", "Ben"=>"37", "Joe"=>"43", сортирует его по значению в возрастающем порядке с помощью asort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

Сортировка ассоциативного массива по значению в убывающем порядке

arsort() действует наоборот и упорядочивает по значению от большего к меньшему, как показывает этот список, начинающийся с самого старшего человека:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив с "Peter"=>"35", "Ben"=>"37", "Joe"=>"43", сортирует его по значению в убывающем порядке с помощью arsort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

PHP ksort() и krsort() - Сортировка ассоциативного массива (ключ)

Чтобы упорядочить по ключам, а не по значениям, используйте ksort(): эта функция располагает ассоциативный массив по ключу в порядке возрастания.

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

Упорядочьте массив $age по именам в алфавитном порядке:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив с "Peter"=>"35", "Ben"=>"37", "Joe"=>"43", сортирует его по ключу в возрастающем порядке с помощью ksort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт

Сортировка ассоциативного массива по ключу в убывающем порядке

krsort() делает обратное, упорядочивая по ключу в порядке убывания, так что имена идут от Z до A:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив с "Peter"=>"35", "Ben"=>"37", "Joe"=>"43", сортирует его по ключу в убывающем порядке с помощью krsort() и выводит результат с помощью print_r().
Вывод: PHP-скрипт