簡體   English   中英

明智地對數組日期進行排序

[英]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",


        },

    ]

我正在嘗試使用kso​​rt但無法正常工作

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM