Как отсортировать ассоциативный массив в php Laravel [дубликат]


Я хочу отсортировать этот массив основан на подсчете в порядке убывания. вот мой array

array(   
   46 => 
      array (
       'name' => 'HSR Layout',
       'url' => 'hsr-layout',
       'count' => 2,
      ),

   37 => 
      array (
       'name' => 'Electronic City',
       'url' => 'electronic-city',
       'count' => 3,
      )
  )
Author: Vikash, 2016-06-30

2 answers

Если вы используете Laravel, как предполагает ваш тег, вы можете использовать коллекции для управления массивами подобным образом. Например:

$array = collect($array)->sortBy('count')->reverse()->toArray();
 14
Author: Jerodev, 2016-06-30 07:30:59

Используя array_multisort().

$array = array(   
   46 => 
      array (
       'name' => 'HSR Layout',
       'url' => 'hsr-layout',
       'count' => 2,
      ),

   37 => 
      array (
       'name' => 'Electronic City',
       'url' => 'electronic-city',
       'count' => 3,
      )
  );

$price = array();
foreach ($array as $key => $row)
{
    $count[$key] = $row['count'];
}
array_multisort($count, SORT_DESC, $array);

print_r($array);    

Вывод программы

Array
(
    [0] => Array
        (
            [name] => Electronic City
            [url] => electronic-city
            [count] => 3
        )

    [1] => Array
        (
            [name] => HSR Layout
            [url] => hsr-layout
            [count] => 2
        )

)

Живая демонстрация: Нажмите здесь

 2
Author: RJParikh, 2016-06-30 08:12:05