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