strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcmpСравнение строк с использованием алгоритма "natural order"

Описание

strnatcmp(string $string1, string $string2): int

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек, такой алгоритм называется "natural ordering". Сравнение происходит с учётом регистра.

Список параметров

string1

Первая строка.

string2

Вторая строка.

Возвращаемые значения

Возвращает -1, если string1 меньше string2, 1, если string1 больше string2, и 0, если строки равны.

Список изменений

Версия Описание
8.2.0 Функция теперь возвращает -1 или 1; ранее она возвращала отрицательное или положительное число.

Примеры

Пример, показывающий отличие этого алгоритма от обычных функций сравнения (используемых в strcmp()), приведён ниже:

<?php
$arr1
= $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo
"Стандартный алгоритм сравнения\n";
usort($arr1, "strcmp");
print_r($arr1);
echo
"\nАлгоритм \"natural order\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Результат выполнения данного примера:

Стандартный алгоритм сравнения
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Алгоритм "natural order"
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Для получения дополнительной информации смотрите » Natural Order String Comparison.

Смотрите также

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strcasecmp() - Бинарно-безопасное сравнение строк без учёта регистра
  • substr() - Возвращает подстроку
  • stristr() - Регистронезависимый вариант функции strstr
  • strcmp() - Бинарно-безопасное сравнение строк
  • strncmp() - Бинарно-безопасное сравнение первых n символов строк
  • strncasecmp() - Бинарно-безопасное сравнение первых n символов строк без учёта регистра
  • strnatcasecmp() - Сравнение строк без учёта регистра с использованием алгоритма "natural order"
  • strstr() - Находит первое вхождение подстроки
  • natsort() - Сортирует массив, используя алгоритм "natural order"
  • natcasesort() - Сортирует массив, используя алгоритм "natural order" без учёта регистра символов