На этом шаге мы рассмотрим назначение второго параметра функции sort().
Еще одна особенность функции sort() - необязательный второй параметр (флаг), который указывает на тип сортируемых значений. Например:
<?php
$closets_1 = array(0=>2, 1=>3, 2=>"Кроссовки");
sort($closets_1, SORT_NUMERIC);
foreach ($closets_1 as $key => $value)
{
echo $key." ".$value."<br>"; // вывод элементов
}
echo "<br>";
$closets_2 = array(0=>2, 1=>3, 2=>"Кроссовки");
sort($closets_2, SORT_STRING);
foreach ($closets_2 as $key => $value)
{
echo $key." ".$value."<br>"; // вывод элементов
}
?>
Результат выполнения этой программы смотрите на рисунке 1.

Рис.1. Результат работы скрипта
В первом случае функция воспринимает все значения как числа, поэтому "Кроссовки" оказались на месте первого элемента (строка преобразовалась в число 0). Во втором случае значения сортируются как строки, поэтому на этот раз строка "Кроссовки" оказалась на месте последнего элемента. Существует так же третий флаг - SORT_REGULAR, который указывает на обычную сортировку.
Задание. Попробуйте отсортировать массив с параметром SORT_REGULAR и
прокомментируйте полученный результат.
Необязательные параметры функции sort() появились только в четвертой версии PHP.
На следующем шаге мы рассмотрим функцию asort().