natcasesort

(PHP 4, PHP 5, PHP 7, PHP 8)

natcasesortСортирует массив алгоритмом естественной сортировки (natural order) без учёта регистра символов

Описание

natcasesort(array &$array): true

Функция natcasesort() — это регистронезависимый аналог функции natsort().

Функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется natural ordering.

Замечание:

Функция сохраняет первоначальный порядок элементов, если при сравнении значения двух элементов равны. До PHP 8.0.0 порядок элементов в отсортированном массиве оставался неопределённым.

Замечание:

Функция сбрасывает внутренний указатель массива на первый элемент.

Список параметров

array

Входной массив.

Возвращаемые значения

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.2.0 Значение возврата теперь принадлежит типу true; раньше значение принадлежало типу bool.

Примеры

Пример #1 Пример использования функции natcasesort()

<?php

$array1
= $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo
"Обычная сортировка\n";
print_r($array1);

natcasesort($array2);
echo
"\nЕстественная сортировка (natural order) (без учёта регистра)\n";
print_r($array2);
?>

Результат выполнения приведённого примера:

Обычная сортировка
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Естественная сортировка (natural order) (без учёта регистра)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Больше информации дано на странице Мартина Пула (Martin Pool) » Natural Order String Comparison.

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