Функция PHP strnatcmp()

Пример

Использование "естественного" алгоритма для сравнения двух строк (с учетом регистра):

<?php
echo strnatcmp("2Hello world!","10Hello world!");
echo "<br>";
echo strnatcmp("10Hello world!","2Hello world!");
?>

Запущенный пример

Определение и использование

Функция strnatcmp() использует "натуральный" алгоритм для сравнения двух строк.

В натуральном алгоритме цифра 2 меньше цифры 10. В компьютерном排序е 10 меньше 2, потому что первый цифра в 10 меньше 2.

Комментарии:Функция чувствительна к регистру.

Синтаксис

strnatcmp(string1,string2)
Параметры Описание
string1 Обязателен. Определяет первую строку для сравнения.
string2 Обязателен. Определяет вторую строку для сравнения.

Технические детали

Возвратное значение:

Эта функция возвращает:

  • 0 - если две строки равны
  • <0 - если string1 меньше string2
  • >0 - если string1 больше string2
PHP версия: 4+

Более примеров

Пример 1

Различия между натуральным алгоритмом (strnatcmp) и обычным компьютерным алгоритмом сортировки строк (strcmp):

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Стандартное сравнение строк"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "Натуральный порядок сравнения строк"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>

Запущенный пример