(краткое содержание)
1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Естественная сортировка
В случаях, когда элементы массива содержат в себе смешанные типы,
например строки, содержащие числа, сортировка asort() не подойдет, т. к.
воспримет элементы как строки и станет сортировать в лексикографическом
порядке.
Для этих случаев предусмотрены функции естественной сортировки:
void natsort(array &$array)
void natcasesort(array &$array)
Различие между этими функциями в том, что natcasesort() не учитывает регистр
символов в элементах массива.
Листинг 31.3. Функции natsort() и natcasesort()
$file_names = [
'a' => 'fILe125',
3
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Сортировка массивов-списков
Массивы, в которых пары ключ => значение принимаются в виде:
- ключи принимают значения от 0 до N, где N – количество элементов в
массиве – 1;
- значения присваиваются ключам в порядке их добавления в массив,
т. е. массивы-списки, могут быть отсортированы с разрушением зависимостей
между ключами и значениями с помощью функций sort() и rsort().
Кроме того, если в такую функцию в качестве массива для сортировки
добавить ассоциативный массив, он будет воспринят как список.
void sort(array &$array [, int $sort_flag])
void rsort(array &$array [, int $sort_flag])
Рассмотрим, как функции работают с массивами-списками и ассоциативными
массивами в листинге 31.4.
Листинг 31.4. Функции sort() и rsort()
4
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
echo "<b>Массив-список:</b>";
foreach($cars as $k => $v)
echo "<p>[{$k}] => '$v'</p>";
Перемешивание списка
PHP позволяет производить случайное перемешивание массивов-списков.
Кроме того, если в эту функцию вложить ассоциативный массив, то он будет
воспринят как массив-список и затем будет перемешан.
Эта функция – void shuffle(array &$array)
Листинг 31.5. Перемешивание массива функцией shuffle()
//Создаем массив-список
$fruits = ['Яблоки', 'Вишня', 'Сливы', 'Бананы', 'Груши'];
//Производим перемешивание
shuffle($fruits);
5
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)