Как отсортировать массив по ключу и значению подмассива

0

Привет всем :) это мой первый вопрос, поэтому я надеюсь на ответ :) У меня есть массив массивов, вроде этого:

Array(
    [] => Array ([category] => 3 )
    [] => Array ([price] => 5 )
    [] => Array ([rating] => 1 )
    [] => Array ([price] => 3 )
    [] => Array ([category] => 1 )
    [] => Array ([category] => 2 )
    )
)

Вопрос: Как я мог сортировать его для ex. буквенно-цифровое значение с помощью ключа subarray и значения subarray, так что оно преобразуется, как и следующее:

Array(
    [] => Array ([category] => 1 )
    [] => Array ([category] => 2 )
    [] => Array ([category] => 3 )
    [] => Array ([price] => 3 )
    [] => Array ([price] => 5 )
    [] => Array ([rating] => 1 )
)
Теги:
arrays
sorting

1 ответ

2
Лучший ответ

Вы ищете array_multisort:

$x = Array(
    Array ("category" => 3 ),
    Array ("price" => 5 ),
    Array ("rating" => 1 ),
    Array ("price" => 3 ),
    Array ("category" => 1 ),
    Array ("category" => 2 ),

);

array_multisort(
    array_map('key', $x), 
    array_map('current', $x), 
    $x);

print_r($x);
  • 0
    Большой! Работает отлично! Спасибо
  • 0
    @RadimKleinpeter: совсем нет, и добро пожаловать в переполнение стека!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню