- 此问题在此处已有答案**:
How to sort an array by keys in an ascending direction?(3个答案)
6个月前关闭。
我有一个数组,键是这种格式的date。
$arr = array(
"20110805" => "2",
"20100703" => "5",
"20110413" => "3",
"20100805" => "4",
"20100728" => "6",
"20090416" => "7",
"20080424" => "8",
"20110819" => "1",
);
如何按键对数组排序?
3条答案
按热度按时间j2datikz1#
对于这种格式的日期,按字母顺序比较就可以了。使用PHP函数ksort。
ghhkc1vu2#
一个稍微复杂一点的解决方案是基于uksort函数的,但适用于几乎所有的日期格式。
首先我们定义一个比较两个日期的callback function(比较器):
现在我们可以使用刚刚定义的函数作为uksort中的第二个参数,如下例所示:
因此,该函数将把键视为日期,并按升序对数组排序(最近的排在前面)。
注意,我们可以很容易地调整比较器来支持不同的用例,例如,按日期降序排序(最近的排在前面)可以通过简单地将函数的返回表达式替换为以下表达式来实现:
wlzqhblo3#
只有这一行代码: