【问题标题】:How to sort an assocoative array in php Laravel [duplicate]如何在php Laravel中对关联数组进行排序[重复]
【发布时间】:2016-11-02 03:50:24
【问题描述】:

我想根据计数降序对该数组进行排序。这是我的array

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

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

【问题讨论】:

标签: php laravel sorting


【解决方案1】:

如果您使用标签建议的 Laravel,则可以使用集合来操作这样的数组。例如:

$array = collect($array)->sortBy('count')->reverse()->toArray();

【讨论】:

  • 谢谢@Jerodev。我正在使用laravel。它有效:)
  • 非常感谢!
  • 有史以来最好的答案,非常感谢
  • 效果很好,如果我想按月订购?会怎么样?
【解决方案2】:

使用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
        )

)

现场演示:Click Here

【讨论】:

  • 检查上面的代码它对您的问题有用。 @Vikash
  • 这太复杂了,这里只需要一个简单的usort 和一个count 比较 lambda 函数就可以了
  • @RuchishParikh,因为 OP 说他正在使用 laravel,你的回答对他没有用。如果您也想给出答案,也不需要复杂的答案:- stackoverflow.com/questions/2699086/…
  • 好的,我会记住的。感谢您的建议@Anant
猜你喜欢
  • 2010-10-21
  • 2014-05-22
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
相关资源
最近更新 更多