Учебник PHP



strnatcmp

(PHP 4)

strnatcmp - сравнение строк с использованием алгоритма "natural order/натурального порядка".

Описание

int strnatcmp (string str1, string str2)

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-числовые строки человекообразным способом. Вот пример разницы между этим алгоритмом и обычными алгоритмами сортировки строк на компьютере (используемые в strcmp()):
$arr1 = $arr2 = array("img12.png","img10.png","img2.png","img1.png");
echo "Standard string comparison\n";
usort($arr1,"strcmp");
print_r($arr1);
echo "\nNatural order string comparison\n";
usort($arr2,"strnatcmp");
print_r($arr2);

Этот код даст на выводе:

Standard string comparison
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Natural order string comparison
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)

Дополнительно см. страницу Martin'а Pool'а Natural Order String Comparison.

Как и другие функции сравнения строк, эта возвращает < 0, если str1 меньше str2; > 0, если str1 больше str2; 0, если они равны.

Обратите внимание, что это сравнение с учётом регистра символов.

См. также ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() и natcasesort().


Назад Оглавление Вперёд
strnatcasecmp Вверхstrncasecmp