[英]Sort an array date wise
我有一個數組。 現在我想按date.how排序此數組?
我的數組
$ details = $ this-> api_model-> testw()
這里mysql查詢返回$ details中的結果數組。
我想將數組排序為日期,然后想要顯示輸出json
計算完我的輸出后顯示在json中。
"details":[
{
"id":"2",
"score":"1256",
"user_id":"5",
"date":"2014-02-05 00:00:00",
},
{
"id":"3",
"score":"100",
"user_id":"6",
"date":"2014-03-08 00:00:00",
},
{
"id":"4",
"score":"123",
"user_id":"7",
"date":"2014-03-04 00:00:00",
},
]
我正在嘗試使用ksort但無法正常工作
使用usort。 該函數將數組中的日期字段轉換為可輕松比較的unix時間戳。
<?php
$arr = array(
array( "id" => 2, "date" => "2014-02-05 00:00:00"),
array( "id" => 3, "date" => "2013-02-05 00:00:00"),
array( "id" => 4, "date" => "2012-02-05 00:00:00"),
array( "id" => 5, "date" => "2011-02-05 00:00:00"),
array( "id" => 6, "date" => "2012-02-05 00:00:00"),
array( "id" => 7, "date" => "2012-04-05 00:00:00"),
array( "id" => 8, "date" => "2018-02-05 00:00:00"));
usort($arr,function($a,$b)
{
$a = strtotime($a['date']);
$b = strtotime($b['date']);
//return $a - $b; //is possible too, but harder to understand
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
}
);
print_r($arr);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.