Сортировка массивов в PHP
Сортировка относится к упорядочиванию элементов массива в алфавитном, числовом порядке с возрастанием или убыванием в соответствии с некоторой линейной зависимостью между элементами. Сортировка массивов значительно повышает эффективность поиска.
Функции PHP для сортировки массивов
PHP поставляется с рядом встроенных функций, разработанных специально для сортировки элементов массива различными способами. Здесь мы рассмотрим некоторые из этих функций, наиболее часто используемых для сортировки массивов:
sort()
— сортирует массивы в порядке возрастанияrsort()
— сортирует массивы в порядке убыванияasort()
— сортирует ассоциативные массивы в порядке возрастания по значениюksort()
— сортирует ассоциативные массивы в порядке возрастания по ключуarsort()
— сортирует ассоциативные массивы в порядке убывания по значениюkrsort()
— сортирует ассоциативные массивы в порядке убывания по ключу
Сортировка массивов по возрастанию
Функция sort()
используется для сортировки элементов индексированного массива в порядке возрастания (в алфавитном порядке для букв):
Пример
Попробуй сам »<?php
$colors = array("Red", "Green", "Blue", "Yellow");
sort($colors);
$clength = count($colors);
for($x = 0; $x < $clength; $x++) {
echo $colors[$x];
echo "<br>";
}
?>
Результат выполнения кода:
Green
Red
Yellow
Аналогично вы можете отсортировать числовые элементы массива в порядке возрастания:
Пример
Попробуй сам »<?php
$numbers = array(1, 2, 2.5, 4, 7, 10);
sort($numbers);
$numlength = count($numbers);
for($x = 0; $x < $numlength; $x++) {
echo $numbers[$x];
echo "<br>";
}
?>
Результат выполнения кода:
Сортировка массивов по убыванию
Функция rsort()
используется для сортировки элементов индексированного массива в порядке убывания (в алфавитном порядке для букв):
Пример
Попробуй сам »<?php
$colors = array("Red", "Green", "Blue", "Yellow");
rsort($colors);
$clength = count($colors);
for($x = 0; $x < $clength; $x++) {
echo $colors[$x];
echo "<br>";
}
?>
Результат выполнения кода:
Red
Green
Blue
Точно так же вы можете отсортировать числовые элементы массива в порядке убывания:
Пример
Попробуй сам »<?php
$numbers = array(1, 2, 2.5, 4, 7, 10);
rsort($numbers);
$numlength = count($numbers);
for($x = 0; $x < $numlength; $x++) {
echo $numbers[$x];
echo "<br>";
}
?>
Результат выполнения кода:
Сортировка ассоциативных массивов в порядке возрастания по значению
Функция asort()
сортирует элементы ассоциативного массива в порядке возрастания в соответствии со значением. Принцип её работы аналогичен функции sort()
, но при сортировке сохраняется связь между ключами и их значениями:
Пример
Попробуй сам »<?php
$age = array("Иван"=>"37", "Борис"=>"43", "Николай"=>"39");
asort($age);
foreach($age as $x => $x_value) {
echo "Ключ=" . $x . ", Значение=" . $x_value;
echo "<br>";
}
?>
Результат выполнения кода:
Ключ=Николай, Значение=39
Ключ=Борис, Значение=43
Сортировка ассоциативных массивов по значению в порядке убывания
Функция arsort()
сортирует элементы ассоциативного массива в порядке убывания в соответствии со значением. Принцип её работы аналогичен функции rsort()
, но при сортировке сохраняет связь между ключами и их значениями:
Пример
Попробуй сам »<?php
$age = array("Иван"=>"37", "Борис"=>"43", "Николай"=>"39");
arsort($age);
foreach($age as $x => $x_value) {
echo "Ключ=" . $x . ", Значение=" . $x_value;
echo "<br>";
}
?>
Результат выполнения кода:
Ключ=Николай, Значение=39
Ключ=Иван, Значение=37
Сортировка ассоциативных массивов в порядке возрастания по ключу
Функция ksort()
сортирует элементы ассоциативного массива в порядке возрастания по их ключам. Она сохраняет связь между ключами и их значениями при сортировке, так же как и функция asort()
:
Пример
Попробуй сам »<?php
$age = array("Иван"=>"37", "Борис"=>"43", "Николай"=>"39");
ksort($age);
foreach($age as $x => $x_value) {
echo "Ключ=" . $x . ", Значение=" . $x_value;
echo "<br>";
}
?>
Результат выполнения кода:
Ключ=Иван, Значение=37
Ключ=Николай, Значение=39
Сортировка ассоциативных массивов в порядке убывания по ключу
Функция krsort()
сортирует элементы ассоциативного массива в порядке убывания arsort()
:
Пример
Попробуй сам »<?php
$age = array("Иван"=>"37", "Борис"=>"43", "Николай"=>"39");
krsort($age);
foreach($age as $x => $x_value) {
echo "Ключ=" . $x . ", Значение=" . $x_value;
echo "<br>";
}
?>
Результат выполнения кода:
Ключ=Иван, Значение=37
Ключ=Борис, Значение=43
PHP Экзаменатор
Желаете больше задачек? Они у нас есть) Реши задачку по массивам.