serejatoje
@serejatoje

Как отсортировать массив usort по наличию дочернего массива + по id?

Всем привет! Есть ассоциативный массив, у некоторых элементов есть дочерний массив.. Моя задача - отсортировать массив так, чтобы все элементы без дочернего массива были вверху, плюс к тому чтобы они сортировались по увеличению id.. Вот моя функция сортировки

private function mysortfunc($a, $b)
    {
        if (isset($a['child']) && !isset($b['child']))
            return 1;
        else if (isset($b['child']) && !isset($a['child']))
            return -1;
        else
            return 0;
    }

usort($sorted_menu, 'mysortfunc');


Все бы ничего, вот только верхние элементы отсортированны не по id, и выходит нечто вроде:
  • Музыка (id=2)
  • Другое (id=3)
  • Книги (id=1)
    • Конфеты (id=6)
    • Мандарины (id=5)

  • Вопрос задан
  • 2458 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
ksort в помощь
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы