Отсортировать массив в PHP: как это сделать?
В PHP есть несколько способов сортировки массивов.
1. sort() - функция сортирует массив по возрастанию, применяя алгоритм быстрой сортировки.
Пример использования sort():
$numbers = array(5, 3, 8, 1, 9, 2);
sort($numbers);
print_r($numbers);
Результат:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 5
[4] => 8
[5] => 9
)
2. rsort() - функция сортирует массив по убыванию, применяя алгоритм быстрой сортировки.
Пример использования rsort():
$numbers = array(5, 3, 8, 1, 9, 2);
rsort($numbers);
print_r($numbers);
Результат:
Array
(
[0] => 9
[1] => 8
[2] => 5
[3] => 3
[4] => 2
[5] => 1
)
3. asort() - функция сортирует массив по возрастанию, сохраняя связь индексов и значений элементов массива.
Пример использования asort():
$names = array("Anna", "John", "Sam", "Olga");
asort($names);
print_r($names);
Результат:
Array
(
[0] => Anna
[3] => Olga
[1] => John
[2] => Sam
)
4. arsort() - функция сортирует массив по убыванию, сохраняя связь индексов и значений элементов массива.
Пример использования arsort():
$names = array("Anna", "John", "Sam", "Olga");
arsort($names);
print_r($names);
Результат:
Array
(
[2] => Sam
[1] => John
[3] => Olga
[0] => Anna
)
5. ksort() - функция сортирует массив по возрастанию ключей, сохраняя связь ключей и значений элементов массива.
Пример использования ksort():
$ages = array("John" => 35, "Olga" => 27, "Sam" => 42, "Anna" => 19);
ksort($ages);
print_r($ages);
Результат:
Array
(
[Anna] => 19
[John] => 35
[Olga] => 27
[Sam] => 42
)
6. krsort() - функция сортирует массив по убыванию ключей, сохраняя связь ключей и значений элементов массива.
Пример использования krsort():
$ages = array("John" => 35, "Olga" => 27, "Sam" => 42, "Anna" => 19);
krsort($ages);
print_r($ages);
Результат:
Array
(
[Sam] => 42
[Olga] => 27
[John] => 35
[Anna] => 19
)
7. usort() - функция сортирует массив, используя пользовательскую функцию сравнения элементов.
Пример использования usort():
$names = array("Anna", "John", "Sam", "Olga");
function name_compare($a, $b) {
return strlen($a) - strlen($b);
}
usort($names, "name_compare");
print_r($names);
Результат:
Array
(
[3] => Sam
[0] => Anna
[1] => John
[2] => Olga
)
8. uasort() - функция сортирует массив, используя пользовательскую функцию сравнения элементов, сохраняя связь индексов и значений элементов массива.
Пример использования uasort():
$ages = array("John" => 35, "Olga" => 27, "Sam" => 42, "Anna" => 19);
function age_compare($a, $b) {
return $a - $b;
}
uasort($ages, "age_compare");
print_r($ages);
Результат:
Array
(
[3] => 19
[1] => 27
[0] => 35
[2] => 42
)
9. uksort() - функция сортирует массив, используя пользовательскую функцию сравнения ключей, сохраняя связь ключей и значений элементов массива.
Пример использования uksort():
$ages = array("John" => 35, "Olga" => 27, "Sam" => 42, "Anna" => 19);
function name_compare($a, $b) {
return strlen($a) - strlen($b);
}
uksort($ages, "name_compare");
print_r($ages);
Результат:
Array
(
[3] => 19
[0] => 35
[2] => 42
[1] => 27
)