The function treats '_' as after letters and numbers when it would be placed before logically.(PHP 4, PHP 5, PHP 7, PHP 8)
strnatcasecmp — Сравнивает строки без учёта регистра по алгоритму natural order
Функция реализует алгоритм сравнения, который упорядочивает буквенно-цифровые строки так, как это сделал бы человек. Поведение функции аналогично функции strnatcmp(), за исключением того, что символы сравниваются без учёта регистра. Дополнительную информацию даёт » Сравнение строк в естественном порядке.
string1Первая строка.
string2Вторая строка.
   Функция возвращает значение меньше 0, если строка string1
   меньше строки string2; значение больше
   0, если строка string1 больше строки
   string2, и 0, если строки
   равны.
   Из значения возврата невозможно надёжно вывести конкретное значение,
   кроме знака числа.
  
| Версия | Описание | 
|---|---|
| 8.2.0 | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк
  не равны, но теперь вместо этого иногда возвращает-1или1. | 
Пример #1 Пример cравнения строк без учёта регистра функцией strnatcasecmp()
<?php
var_dump(strnatcasecmp('Apple', 'Banana'));
var_dump(strnatcasecmp('Banana', 'Apple'));
var_dump(strnatcasecmp('apple', 'Apple'));
?>Результат выполнения приведённого примера:
int(-1) int(1) int(0)
The function treats '_' as after letters and numbers when it would be placed before logically.