Как сделать сортировку php
Элементы в массиве, могут быть отсортированы в алфавитном или числовом порядке, по убыванию или по возрастанию.
PHP Функции сортировки массивов
В этой главе мы рассмотрим следующие функции сортировки массива PHP:
- sort() - сортировка массивов в порядке возрастания
- rsort() - сортировка массивов в порядке убывания
- asort() - сортировать ассоциативный массив в порядке возрастания значений
- ksort() - сортировка ассоциативных массивов в порядке возрастания в соответствии с ключом
- arsort() - сортировка ассоциативных массивов в порядке убывания в соответствии со значением
- krsort() - сортировка ассоциативных массивов в порядке убывания в соответствии с ключом
PHP Сортировка массива в порядке возрастания
В следующем примере выполняется сортировка элементов массива $cars в алфавитном порядке:
Пример
В следующем примере сортируются элементы массива $numbers в порядке возрастания цифровой последовательности:
Пример
PHP Сортировка массива в порядке убывания
В следующем примере выполняется сортировка элементов массива $cars в алфавитном порядке по убыванию:
Пример
В следующем примере выполняется сортировка элементов массива $numbers в порядке убывания цифровой последовательности:
Пример
PHP Сортировка массива по возрастанию, со значением
В следующем примере выполняется сортировка ассоциативного массива по возрастанию, в соответствии со значением:
Пример
PHP Сортировка массива по возрастанию, по ключу
В следующем примере выполняется сортировка ассоциативного массива по возрастанию, согласно ключу:
Пример
PHP Сортировка массива по убыванию, по значению
Следующий пример сортирует ассоциативный массив в порядке убывания, по значению:
Пример
PHP Сортировка массива по убыванию, по ключу
Следующий пример сортирует ассоциативный массив в порядке убывания, согласно ключу:
Пример
PHP Полный справочник массива
Для полной справки всех функций массива, перейдите к нашему полному PHP Справочник массивов.
Справочник содержит краткое описание и примеры использования каждой функции!
Упражнения
Тесты
КАК СДЕЛАТЬ
ПОДЕЛИТЬСЯ
СЕРТИФИКАТЫ
Если вы хотите сообщить об ошибке или сделать предложение, не стесняйтесь, присылайте нам электронное письмо:
Ваше предложение:
Спасибо, за вашу помощь!
Топ Учебники
Топ Справочники
Топ Примеры
Веб Сертификаты
SchoolsW3 оптимизирован для обучения, тестирования и тренировки. Примеры упрощают и улучшают чтение и базовое понимание. Учебники, справочники, примеры постоянно пересматриваются, для того, чтобы избежать ошибки, невозможно гарантировать правильность всего содержимого. Используя данный сайт, вы соглашаетесь прочитать и принять условия использования, cookie и Политика конфиденциальности. Авторское право 1999 - 2022 Все права защищены.
Работает на W3.CSS.
В PHP так много различного функционала для работы с массивами, а вот для объектов порой приходится изобретать велосипеды снова и снова. Так какой велосипед сегодня?
На днях возникла совершенно, казалось бы, элементарная задача — отсортировать множество объектов, полученное из базы данных в виде rowset. Функции сортировки работают с массивами и нет им дела до объектов. Вот тут нам на помощь приходит функция сортировки с использованием определенной пользователем функцией — usort( array &$array, callback $cmp_function). Вторым аргументом как раз и можем сделать нашу операцию сравнения объектов.
Допустим, мы получили из базы данных множество городов мира. Для одной задачи нам необходимо отсортировать эти города по количеству населения, для другой — по среднегодовой температуре, для третьей — в алфавитном порядке по названию города. Не делать же для этого три различных запроса в базу. Так что приступаем к реализации сортировки.
function sortByPopulation($city1, $city2) if ($city1->Population == $city2->Population)
return 0;
return ($city1->Population > $city2->Population) ? -1 : 1;
>
?>
* This source code was highlighted with Source Code Highlighter .
В общем-то готово, но сюда так и просятся замыкания, ведь правда?
if ($city1->Population == $city2->Population) return 0;
return ($city1->Population > $city2->Population) ? -1 : 1;>);
* This source code was highlighted with Source Code Highlighter .
А если все это обернем в функцию и идентификатор сделаем переменной, то получится вполне полезная функция сортировки объектов
if ($object1->$sortBy == $object2->$sortBy) return 0;
return ($object1->$sortBy > $object2->$sortBy) ? -1 : 1;>);
return $objectSetForSort;
>
?>
* This source code was highlighted with Source Code Highlighter .
Сортировка относится к упорядочиванию элементов массива в алфавитном, числовом порядке с возрастанием или убыванием в соответствии с некоторой линейной зависимостью между элементами. Сортировка массивов значительно повышает эффективность поиска.
Функции PHP для сортировки массивов
PHP поставляется с рядом встроенных функций, разработанных специально для сортировки элементов массива различными способами. Здесь мы рассмотрим некоторые из этих функций, наиболее часто используемых для сортировки массивов:
- sort() — сортирует массивы в порядке возрастания
- rsort() — сортирует массивы в порядке убывания
- asort() — сортирует ассоциативные массивы в порядке возрастания по значению
- ksort() — сортирует ассоциативные массивы в порядке возрастания по ключу
- arsort() — сортирует ассоциативные массивы в порядке убывания по значению
- krsort() — сортирует ассоциативные массивы в порядке убывания по ключу
Сортировка массивов по возрастанию
Функция sort() используется для сортировки элементов индексированного массива в порядке возрастания (в алфавитном порядке для букв):
Пример
Результат выполнения кода:
Аналогично вы можете отсортировать числовые элементы массива в порядке возрастания:
Пример
Результат выполнения кода:
Сортировка массивов по убыванию
Функция rsort() используется для сортировки элементов индексированного массива в порядке убывания (в алфавитном порядке для букв):
Пример
Результат выполнения кода:
Точно так же вы можете отсортировать числовые элементы массива в порядке убывания:
Пример
Результат выполнения кода:
Сортировка ассоциативных массивов в порядке возрастания по значению
Функция asort() сортирует элементы ассоциативного массива в порядке возрастания в соответствии со значением. Принцип её работы аналогичен функции sort() , но при сортировке сохраняется связь между ключами и их значениями:
Пример
Результат выполнения кода:
Сортировка ассоциативных массивов по значению в порядке убывания
Функция arsort() сортирует элементы ассоциативного массива в порядке убывания в соответствии со значением. Принцип её работы аналогичен функции rsort() , но при сортировке сохраняет связь между ключами и их значениями:
Пример
Результат выполнения кода:
Сортировка ассоциативных массивов в порядке возрастания по ключу
Функция ksort() сортирует элементы ассоциативного массива в порядке возрастания по их ключам. Она сохраняет связь между ключами и их значениями при сортировке, так же как и функция asort() :
Пример
Результат выполнения кода:
Сортировка ассоциативных массивов в порядке убывания по ключу
Функция krsort() сортирует элементы ассоциативного массива в порядке убывания по их ключам . Она сохраняет связь между ключами и их значениями при сортировке, так же как и функция arsort() :
Для сортировки массивов в PHP существует несколько функций: sort - по возрастанию элементов, rsort - по убыванию элементов, asort - по возрастанию элементов с сохранением ключей, arsort - по убыванию элементов с сохранением ключей, ksort - по возрастанию ключей, krsort - по убыванию ключей, usort - по функции по элементам, uasort - по функции по элементам с сохранением ключей, uksort - по функции по ключам, natsort - натуральная сортировка.
Все эти функции изменяют сам массив - это значит, что результат не нужно никуда присваивать: поменяется сам массив.
Читайте также: