На этом шаге мы рассмотрим назначение второго параметра функции 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() появились только в четвертой версии PHP.
На следующем шаге мы рассмотрим функцию asort().