English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом курсе вы узнаете, как сортировать элементы или ключи массива по возрастанию или убыванию в PHP.
В предыдущей главе вы уже изучили основы PHP массивов, то есть что такое массивы, как их создавать, как смотреть на их структуру, как обращаться к их элементам и т.д. Вы можете использовать массивы для выполнения множества других операций, например, для сортировки элементов в порядке, указанном вами.
PHP содержит множество встроенных функций, которые专门 предназначены для сортировки элементов массивов по различным способам, например, по алфавиту или числам в порядке возрастания или убывания. В этой статье мы рассмотрим некоторые из наиболее часто используемых функций для сортировки массивов.
sort() и rsort() — сортировка индексных массивов
asort() и arsort() — используются для сортировки связных массивов по значениям
ksort() и krsort() — используются для сортировки связных массивов по ключам
Функция sort() используется для сортировки элементов индексного массива по возрастанию (буквы по алфавитному порядку, числа по числовому порядку).
<?php //Определение массива $colors = array("Red", "Green", "Blue", "Yellow"); //Сортировка и вывод массива sort($colors); print_r($colors); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Array ( [0] => Blue [1] => Green [2] => Red [3] => Yellow )
Таким образом, вы можете отсортировать элементы массива чисел по возрастанию.
<?php //Определение массива $numbers = array(1, 2, 2.5, 4, 7, 10); //Сортировка и вывод массива sort($numbers); print_r($numbers); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Array ( [0] => 1 [1] => 2 [2] => 2.5 [3] => 4 [4] => 7 [5] => 10 )
Функция rsort() используется для сортировки элементов индексного массива по убыванию (alfавитный порядок по алфавиту, числовой порядок по числам).
<?php //Определение массива $colors = array("Red", "Green", "Blue", "Yellow"); // Сортировка и печать массива rsort($colors); print_r($colors); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Array ( [0] => Yellow [1] => Red [2] => Green [3] => Blue )
Таким образом, вы можете отсортировать элементы массива чисел по убыванию.
<?php //Определение массива $numbers = array(1, 2, 2.5, 4, 7, 10); //Сортировка и вывод массива rsort($numbers); print_r($numbers); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Массив ( [0] => 10 [1] => 7 [2] => 4 [3] => 2.5 [4] => 2 [5] => 1 )
Функция asort() сортирует элементы связанного массива по значению в порядке возрастания. Она работает аналогично функции sort(), но сохраняет ассоциацию между ключом и значением при сортировке.
<?php //Определение массива $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Сортировка массива по значению и вывод asort($age); print_r($age); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Массив ( [Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45 )
Функция arsort() сортирует элементы связанного массива по значению в порядке убывания. Она работает аналогично функции rsort(), но сохраняет ассоциацию между ключом и значением при сортировке.
<?php //Определение массива $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Сортировка массива по значению и вывод arsort($age); print_r($age); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Массив ( [John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14 )
Функция ksort() сортирует элементы связанного массива по ключам в порядке возрастания. Как и функция asort(), она сохраняет ассоциацию между ключом и значением при сортировке.
<?php //Определение массива $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Сортировка массива по ключам и вывод ksort($age); print_r($age); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Массив ( [Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20 )
Функция ksort() сортирует элементы связанного массива по ключам в порядке возрастания. Как и функция asort(), она сохраняет ассоциацию между ключом и значением при сортировке.
<?php //Определение массива $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Сортировка массива по ключам и вывод krsort($age); print_r($age); ?>Тестирование看看‹/›
Выражение print_r() предоставляет следующий вывод:
Массив ( [Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35 )