Задать вопрос
Exileum
@Exileum
PHP-программист

Сортировка вложенных массивов

Доброго времени суток.

Подскажите, пожалуйста. Есть массив примерно такого вида:

Array (
	[1] => Array ( [name] => Бананы [count] => 16 )
	[2] => Array ( [name] => Груши [count] => 12 )
	[3] => Array ( [name] => Яблоки [count] => 1 )
	[4] => Array ( [name] => Апельсины [count] => 1 )
	[5] => Array ( [name] => Мандарины [count] => 5 )
)

Надо отсортировать вложенные массивы по возрастанию их ключа count, дабы получилось что-то такое:

Array (
	[4] => Array ( [name] => Апельсины [count] => 1 )
	[3] => Array ( [name] => Яблоки [count] => 1 )
	[5] => Array ( [name] => Мандарины [count] => 5 )
	[2] => Array ( [name] => Груши [count] => 12 )
	[1] => Array ( [name] => Бананы [count] => 16 )
)

Стандартные функции php для массивов не подходят — массив многомерный, а multisort не сортирует сами вложенные массивы, с его помощью можно только их значения отсортировать. Был бы признателен за возможные варианты решения этой проблемы.
  • Вопрос задан
  • 6673 просмотра
Подписаться 6 Оценить Комментировать
Решения вопроса 1
@relic
используйте функцию usort.
В вашем случае так: http://codepad.org/AolXOEBn
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
gaelpa
@gaelpa
5.3+
uksort($arr,function($a,$b){ return $b['count'] - $a['count'];})

5.2- то же самое, но функцию вынести отдельно.
Ответ написан
DarthRamone
@DarthRamone
Я не очень понимаю. А какой-нибудь квиксорт написать самому?
Ответ написан
Стандартные функции говорите не подходят? multisort не может? А может я задачу не правильно понял, но результат получился тот же самый: pastebin.com/L03vF8SX
Ответ написан
Ваш ответ на вопрос

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

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