strnatcmp
Сравнивает строки в «естественном» порядке — числа внутри строк как числа.
Синтаксис
strnatcmp(string $string1, string $string2): intПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $string1 | string | Первая строка. |
| $string2 | string | Вторая строка. |
Возвращаемое значение
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().
См. также
В учебнике
- Сортировка массивов — Сортировка в PHP — sort, rsort, asort, ksort, своё правило через usort и оператор «космический корабль».