Сортировка массивов

Функция 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);

?>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: