«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2021/04/19 07:02:25  №2001009 1
image.png (4, 101x229)
229x101
Блджад посоны, столкнулся с тем что при сортировке по названию происходит такая хуйня, смотрите пик, что внезапно число 107 оказывается меньше чем 37 и выводится выше так как оно внезапно меньше, сортирую я это говно с помощью такого способа https://www.php.net/manual/ru/function.usort.php#example-5491 Пример #2
Как его отсортировать по человеческой сортировке где сперва будет 37, а потом 107? Вчера ещё натыкался на это но теперь не могу найти, всё это берётся из многомерного массива, так что сортировка просто по ключу или значению не вариант
Ответы: >>2001027 >>2001028 >>2001499
Аноним 2021/04/19 13:11:05  №2001499 2
>>2001009

А я поясню, почему 107 меньше, чем 37. Дело в том, что тут сравниваются не числа 107 и 37, а строки "107" и "37". Строки сравниваются так:

- берутся первые символы и сравнивается, у какого символа код (например, по таблице Юникода) больше.
- если они равны, то сравниваются вторые символы
- и так далее

Символ "3" считается "больше", чем символ "1", потому строка "37" больше чем "107".
Ответы: >>2001635
Аноним 2021/04/19 14:21:05  №2001635 3
>>2001499
Ну да, натуральная сортировка называется или как-то так