Сортировка массивов в 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 Экзаменатор
Желаете больше задачек? Они у нас есть) Реши задачку по массивам.
