Функция strnatcmp
Функцията strnatcmp извършва сравнение на два низа, като взема предвид естествения ред на символите.
За разлика от обикновеното сравнение, тази функция разпознава числата в низовете и ги сравнява по числова стойност.
Функцията връща 0 ако низовете са идентични, число -1 ако първият низ е по-малък от втория,
и число по-голямо от 1 ако първият низ е по-голям от втория.
Синтаксис
strnatcmp(string $str1, string $str2): int
Пример
Сравнение на низове с числа по обикновен начин и с помощта на strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Резултат от изпълнението на кода:
strcmp result: 1
strnatcmp result: -1
Пример
Сравнение на низове с различни числа:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Резултат от изпълнението на кода:
-1
Пример
Сравнение на еднакви низове:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Резултат от изпълнението на кода:
0
Вижте също
-
функцията
strcmp,
която извършва двоично-безопасно сравнение на низове -
функцията
strcasecmp,
която сравнява низове без значение на регистъра -
функцията
natcasesort,
която сортира масив, използвайки естествен ред без значение на регистъра