-1

我有一个包含这些键/值的 json 数组

{
    "results": [
        {
            "date": "2013-15-5",
            "position": "23",
            "race" : "2"
        },
        {
            "date": "2013-15-6",
            "position": "15",
            "race" : "4"
        },
        {
            "date": "2013-15-7",
            "position": "20",
            "race" : "5"
        },
        {
            "date": "2013-15-8",
            "position": "9",
            "race" : "9"
        }
    ]
}

鉴于我有两个变量以相同的格式存储 a$from$todate2013-15-5

如何过滤此 json 数组,以便输出显示2013-15-6 - 2013-15-8的范围,谢谢

{
    "results": [
        {
            "date": "2013-15-6",
            "position": "15",
            "race" : "4"
        },
        {
            "date": "2013-15-7",
            "position": "20",
            "race" : "5"
        },
        {
            "date": "2013-15-8",
            "position": "9",
            "race" : "9"
        }
    ]
}
4

1 回答 1

2

将 json 转换为 php 数组,并将其传递array_filter如下

array_filter($array, function ($item) {
       $from = strtotime("2013-15-6");
       $to = strtotime("2013-15-8");

       $ts = strtotime($item['date']);
       if ($ts >= $from && $ts <= $to) return true;
       return false; 
});
于 2013-08-20T08:21:05.970 回答