Функция 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
,
которая сортирует массив с использованием естественного порядка без учета регистра