Описание
int
strnatcmp
( string str1, string str2 )
Эта функция реализует алгоритм сравнения, упорядочивающий
алфавитно-цифровые строки подобно тому, как это сделал бы
человек. Пример, показывающий отличие этого алгоритма от обыных
функций сравнения, приведен ниже
<?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Стандартный алгоритм сравнения\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nАлгоритм \"естественного упорядочения\"\n"; usort($arr2, "strnatcmp"); print_r($arr2); ?>
|
Этот пример выводит следующее:
Стандартный алгоритм сравнения
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Алгоритм "естественного упорядочения"
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)
|
Для получения дополнительной информации см.
Natural Order String Comparison
Подобно другим функциям сравнения строк,
strnatcmp()
возвращает отрицательное число,
если str1
меньше, чем
str2
; положительное число если,
str1
больше, чем str2
,
и 0 если строки равны.
Эта функция учитывает регистр символов.