【问题标题】:Sort an array by key value [duplicate]按键值对数组进行排序[重复]
【发布时间】:2012-06-25 12:18:13
【问题描述】:

可能重复:
How to sort a multidimensional array by a certain key?

我想按键值对如下所示的数组进行排序:

 $arr = ([0]=>Int(5)
         [1]=> Array ( [0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2))
         [2]=> Array ( [0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2))
         [3]=> Array ( [0]=>Int(4) , [1]=>String(10) , [2]=>String(22) , ['prop']=>Int(2))
        )

因此,我希望 $arr 按 ['prop'] 的值排序。

我试过冒泡排序,但没有任何结果。

【问题讨论】:

  • 看看usort()
  • 提问前请使用搜索功能。
  • @Jeroen 我已经尝试过 usort() 并在执行时超时!

标签: php arrays sorting


【解决方案1】:
usort($array, function($a, $b) {
    if($a['prop'] == $b['prop']) return 0;
    return ($a['prop'] < $b['prop']) ? -1 : 1;
});

注意:这只适用于 PHP >5.3(因为它使用an anonymous function

【讨论】:

  • 我已经尝试过 usort() 并且它在执行时超时!
猜你喜欢
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
  • 2017-05-25
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多