PHP strnatcasecmp()Функции
Справочное руководство по строкам PHP
Примеры
Используйте «естественный» алгоритм для сравнения двух строк (без учета регистра):
<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
Запустить пример »
Определение и использование
Функция strnatcasecmp() использует «естественный» алгоритм для сравнения двух строк (без учета регистра).
В естественном алгоритме число 2 меньше числа 10. При компьютерной сортировке 10 меньше 2, потому что первая цифра в числе 10 меньше 2.
Примечание:strnatcasecmp() не учитывает регистр.
Синтаксис
strnatcasecmp(string1,string2)
| Параметр | Описание |
|---|---|
| string1 | Обязательный. Задаёт первую строку для сравнения. |
| string2 | Обязательный. Задаёт вторую строку для сравнения. |
Технические детали
| Возвращаемое значение: | Эта функция возвращает:
|
|---|---|
| Версия PHP: | 4+ |
Другие примеры
Пример 1
Разница между естественным алгоритмом (strnatcmp) и обычным компьютерным алгоритмом сортировки строк (strcmp):
<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>
Запустить пример »
Справочное руководство по строкам PHP Другие расширения