Php 按日期范围筛选此json数组创建新json数组

Php 按日期范围筛选此json数组创建新json数组,php,arrays,json,Php,Arrays,Json,我有一个包含这些键/值的json数组 { "results": [ { "date": "2013-15-5", "position": "23", "race" : "2" }, { "date": "2013-15-6", "position": "15", "race" : "4"

我有一个包含这些键/值的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"
        }
    ]
}
假设我有两个变量,以相同的格式存储
$from
$to
日期
2013-15-5

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


我们将json转换为php数组,并通过
array\u 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; 
});
array\u过滤器($array,function($item){
$from=STROTIME(“2013-15-6”);
$to=标准时间(“2013-15-8”);
$ts=strottime($item['date']);

如果($ts>=$from&&$ts)数组总是按日期排序,如您的示例中所示?@koala\u dev是的,它总是按日期排序以筛选日期范围,则必须将日期字符串转换为内部日期值。
json\u decode
array\u filter
,匿名函数,
DateTime
)你可以通过编写代码来过滤它。你在哪里遇到了路障来起草一些代码?嗨,谢谢你的帮助。我在测试时遇到了一个错误,因为匿名函数,我试图将函数$item移到过滤器之外,但这不是很好。你能看看我做了什么,也许可以帮助我完成这项工作吗需要安格斯吗thanks@Anagio您没有正确命名变量。谢谢,但第二次打印仍然显示所有3个日期,并且似乎没有经过筛选?已更新,但您需要更新日期它有Y-d-m,这不是受支持的格式@Anagio
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; 
});