@OlegSedoy

Как работает функция сортировки usort?

Может кто нибудь как работает такая функция?
function sortArMenu(array &$array, string $key = 'sort', $sort = SORT_ASC)
{
    usort($array, function ($a, $b) use ($key, $sort) {
        switch ($sort) {
            case SORT_ASC:
                return $a[$key] <=> $b[$key];
                break;
            case SORT_DESC:
                return -($a[$key] <=> $b[$key]);
                break;
        }
    });
}


Что значит?
return -($a[$key] <=> $b[$key]);
  • Вопрос задан
  • 346 просмотров
Решения вопроса 1
zoozag
@zoozag
Opencart
Функция сортирует массив с меню по ключу. По умолчанию ключ 'sort', по возрастанию.

$a <=> $b Число меньше, больше или равное нулю, когда $a соответственно меньше, больше или равно $b. Доступно c PHP 7.
-($a <=> $b) - cоответственно обратное число
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
initrd0
@initrd0
Это я =)
$a <=> $b Космический корабль (spaceship) Число типа integer меньше, больше или равное нулю, когда $a соответственно меньше, больше или равно $b. Доступно c PHP 7.


Тут подробнее об операторах сравнения: php.net/../language.operators.comparison.php

Тут про функцию usort: php.net/../function.usort.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы