ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
134 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

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