(PHP 4, PHP 5)
strnatcmp — Сравнява низ с използване на алгоритъма "естествен ред"
Тази функция реализира алгоритъма за сравнение, който подрежда буквено-цифрови низове по начина по който би ги подредил човек. Това е познато като "естествен ред". Забележете, че сравняването е чувствително към регистъра.
Първият низ.
Вторият низ.
Подобно на другите функции за сравняване на низове, връща < 0 ако str1 е по-малък от str2 ; > 0 ако str1 е по-голям от str2 , и 0 ако са равни.
Като пример за разликата между този алгоритъм и обикновения алгоритъм за сортиране на низове (използван при strcmp()), може да се види по-долу:
<?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 )
За повече информация вижте: Страницата на Мартин Пул за » сравняване на низове чрез алгоритъма "естествен ред".