Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

strnatcmp

Сравнивает строки в «естественном» порядке — числа внутри строк как числа.

Синтаксис

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

Параметры

ПараметрТипОписание
$string1stringПервая строка.
$string2stringВторая строка.

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

intОтрицательное число, `0` или положительное.

Примеры

Обычное и естественное сравнение:

<?php
 
$files = ['img12.png', 'img10.png', 'img2.png'];
 
sort($files);
echo implode(', ', $files), "\n";
 
usort($files, 'strnatcmp');
echo implode(', ', $files);

Результат:

img10.png, img12.png, img2.png
img2.png, img10.png, img12.png

Примечания

Вариант без учёта регистра — strnatcasecmp().

См. также

  • natsort — Сортирует строки так, как их упорядочил бы человек.
  • strcmp — Сравнивает две строки.
  • usort — Сортирует массив по своему правилу сравнения.

В учебнике

  • Сортировка массивов — Сортировка в PHP — sort, rsort, asort, ksort, своё правило через usort и оператор «космический корабль».

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.