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
PHP


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

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

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

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

PORNOSEKSXXX

  • Иван: к записи Привет всем, доброго времени суток! Я излазил весь »
  • Александер: к записи Потом пригляделся, вроде Вы не это имели в виду и »
  • Александер: к записи У Вас не русифицируется, потому что не везде включ »
  • Администратор: к записи Это надо использовать функции вашей CMS. »
  • Alex: к записи Ребят, а подскажите пожалуйста, как реализовать с »
  • Владимир: к записи А как теперь будет выглядеть ссылка для перехода н »
  • Администратор: к записи Не знаю. »

Статистика спама

Akismet заблокировал 33 450 спамеров

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

Твиты пользователя @red_book_cms