Описание
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 если строки равны.
Эта функция учитывает регистр символов.
См. также описание функций ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcasecmp(), strstr(),
natsort() и natcasesort().