Задать вопрос

Как правильно отсортировать многомерный массив?

есть многомерный массив
Array=>[
        0 => [
          'id'=>'1'
        ],
        1 =>[
           'id' =>'2'
        ],
        2 =>[
           'id' =>'100'
        ]
    ]

пытаюсь отсортировать его следующим образом

uasort($arr,function ($a, $b){return strcmp((int) $a['id'], (int) $b['id']);});
    var_dump($arr['id']);


получаю
0 => string '1' 
     1 => string '100' 
     2 => string '2'

можно ли как то отсортировать так

0 => string '1' 
      1 => string '2' 
      2 => string '100'
  • Вопрос задан
  • 151 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 1
ProjectSoft
@ProjectSoft
Front-end && Back-end разработчик
Числа нужно сравнивать, а не строки
// Без сохранения ключей
usort($array, function ($a, $b){return (int)$a['id'] > (int)$b['id'];});
// uasort - с сохранением ключей.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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