Функция sort сортирует массив, т.е. упорядочивает его значения по возрастанию. Эта функция удаляет все существовавшие в массиве ключи, заменяя их числовыми индексами, соответствующими новому порядку элементов. В случае успешного завершения работы она возвращает true, иначе – false.
sort (массив, флаги);
Пример 3. Пусть есть два массива: цены товаров – их названия и, наоборот, названия товаров – их цены. Упорядочим эти массивы по возрастанию:
<?php
$items = array(10 => "хлеб", 20 => "молоко", 30 => "бутерброд");
sort($items); // строки сортируются в алфавитном порядке, ключи теряются
print_r($items);
$rev_items = array("хлеб" => 10, "бутерброд" => 30, "молоко" => 20);
sort($rev_items); // числа сортируются по возрастанию, ключи теряются
print_r($rev_items);
?>
В качестве дополнительного аргумента «флаги» может использоваться одна из следующих констант:
· SORT_REGULAR – сравнивать элементы массива обычным образом;
· SORT_NUMERIC – сравнивать элементы массива как числа;
· SORT_STRING – сравнивать элементы массива как строки.
Функции asort, rsort, arsort
asort (массив, флаги) -сохранит индексы элементов массива после сортировки.
rsort (массив, флаги) -отсортирует массив в обратном порядке, т.е. от наибольшего значения к наименьшему.
arsort(массив, флаги) -отсортирует массив в обратном порядке и сохранит значения ключей
Значения флагов могут быть такими же, как у sort.
Пример 4.
<?php
$books = array("Пушкин"=>"Руслан и Людмила", "Толстой"=>"Война и мир",
"Лермонтов"=>"Герой нашего времени");
asort($books); // сортируем массив, сохраняя значения ключей
print_r($books);
echo "<br>";
rsort($books); // сортируем массив в обратном порядке, ключи будут заменены
print_r($books);
?>
Сортировка массива по ключам
Функция ksort() сортирует по возрастанию (прямой порядок сортировки).
Функция krsort() сортирует по убыванию (обратный порядок сортировки). Синтаксис этих функций аналогичен синтаксису функции sort().
Пример 5.
<?php
$books=array("Пушкин"=>"Руслан и Людмила", "Толстой"=>"Война и мир", "Лермонтов"=>"Герой нашего времени");
ksort($books); // сортируем массив, сохраняя значения ключей
print_r($books);
?>