简体   繁体   English

无法在PHP中按日期对多维数组进行排序

[英]Unable to sort multi-dimensional array by date in PHP

I am currently trying to sort a multi-dimensional array by a due date in PHP, but the sort is unsuccessful. 我目前正在尝试在PHP中按到期日对多维数组进行排序,但排序不成功。 I've tried applying several of the solutions here, but have had no luck. 我已尝试在这里应用几种解决方案,但没有运气。 Can someone please advise on a proper solution for the code below? 有人可以建议正确解决下面的代码吗?

function getTasksTeam($user) {

    $master = array();
    $master["record"] = array();


    $teamArray = array();
    $teams = mysql_query("SELECT * FROM users WHERE _id = '$user'") or die(mysql_error());
    if (mysql_num_rows($teams) > 0) {
                        while(($row =  mysql_fetch_assoc($teams))) { 
                            $teamArray = explode(':', $row["TEAM"]);

                        }
    }

    for ($i = 0;$i < count($teamArray);$i++) {
        $teamId = $teamArray[$i];

        $query = mysql_query("SELECT * FROM tasks WHERE RESPONSIBLE_TYPE = '0' AND RESPONSIBLE = '$teamId' AND STATUS <> 3") or die(mysql_error());
        if (mysql_num_rows($query) > 0) {
            while (($row = mysql_fetch_assoc($query))) {
                    $record = array();
                    $record["id"] = $row["_id"];
                    $record["task"] = $row["TASK"];
                    $record["part_number"] = $row["PART_NUMBER"];
                    $record["due"] = $row["DATE_DUE"];
                    $record["responsible"] = $row["RESPONSIBLE"];
                    $record["status"] = $row["STATUS"];
                    array_push($master["record"], $record);

            }
        }
    }

    usort($master["record"], 'date_sort');

    $master["success"] = 1;
    header('Content-type: application/json');
    echo json_encode($master);

 }

 function date_sort($a, $b) {
    return strcmp($a['due'], $b['due']); 
 }

You can use usort and strtotime like this: 你可以像这样使用usortstrtotime

usort($master["record"], function($a, $b) {
    return strtotime($a['due']) - strtotime($b['due']);
});

I hope this will help you. 我希望这能帮到您。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM