PHP сортировка массива: sort()

Стандартная PHP функция под названием sort() реализует сортировку элементов массива по возрастанию. Здесь мы рассмотрим её входные параметры и примеры использования.

Sort() имеет два входных параметра: это собственно сам массив плюс флаг сортировки. У последнего следующие допустимые значения:

  • SORT_REGULAR – задает на нормальное сравнение элементов, оценивая элементы «как они есть».
  • SORT_NUMERIC — воспринимает элементы, как числа.
  • SORT_STRING — воспринимает элементы, как строки.
  • SORT_LOCALE_STRING - воспринимает элементы, как строки с учетом текущей локали.
  • SORT_NATURAL — задает использование естественное упорядочивание, схожее с natsort().
  • SORT_FLAG_CASE — объединение, побитовое OR с константами SORT_STRING или SORT_NATURAL для сортировки строк без учета регистра.

Флаг указывать необязательно.

Пример использования без указания флага

Отсортируем числа 5, 12, 42, 12, 49 и 47 в порядке возрастания:

<?php
$massiv = array("5", "12", "42", "12", "49", "47");
sort($massiv);

// Выводим результат:
for($n = 0; $n < count($massiv); $n++)
  print "array[$n]=$massiv[$n]<br />\n";
?>

В окне браузера получаем обработанные данные:

array[0]=5
array[1]=12
array[2]=12
array[3]=42
array[4]=47
array[5]=49

Строки сортируются в алфавитном порядке.

Пример использования с использованием флага

Берем те же данные:

<?php
$massiv = array("5", "12", "42", "12", "49", "47");
sort($massiv, SORT_NUMERIC);

// Выводим результат:
for($n = 0; $n < count($massiv); $n++)
  print "array[$n]=$massiv[$n]<br />\n";
?>

Получаем тоже самое:

array[0]=5
array[1]=12
array[2]=12
array[3]=42
array[4]=47
array[5]=49

P.S. Попробуйте выполнить сортировку, указав разные флаги — получите разные результаты.

Опубликовано 28-02-2013 в 14:07


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты