在日期之间进行数组过滤,并在PHP中对其进行切片

在日期之间进行数组过滤,并在PHP中对其进行切片,php,arrays,Php,Arrays,我有一个数组 array(5) { [0]=> string(19) "2012-06-11 08:30:49" [1]=> string(19) "2012-06-07 08:03:54" [2]=> string(19) "2012-05-26 23:04:04" [3]=> string(19) "2012-05-27 08:30:00" [4]=> string(19) "2012-06-08 08:30:5

我有一个数组

array(5) { 
    [0]=> string(19) "2012-06-11 08:30:49" 
    [1]=> string(19) "2012-06-07 08:03:54" 
    [2]=> string(19) "2012-05-26 23:04:04" 
    [3]=> string(19) "2012-05-27 08:30:00" 
    [4]=> string(19) "2012-06-08 08:30:55" 
}

我想切分成数组你可以使用内置函数数组\ u过滤器。第一个参数是要使用的数组,第二个参数是数组中每个项的每次迭代的回调。我们只想知道每件商品的日期 结果:


数组[0]=>2012-06-07 08:03:54[1]=>2012-05-26 23:04:04[2]=>2012-05-27 08:30:00

您确定比较字符串之类的日期会按预期工作吗?@u_mulder-我测试了几个不同的日期和时间。我得到了预期的结果——是的。无论如何,在这种情况下,它起了作用。请告诉我这是否有问题!我想知道这一点case@NicoHaase-我认为这是不言自明的,但我想你永远无法了解细节。我已经提供了一个小文本如何工作。这是否回答了你的问题@zigrazor-这个问题是关于javascript的,不是PHPThank你的答案,而是我更喜欢使用数组过滤器
$result = array_filter($arr, function($data_item) {
    return $data_item <= "2012-06-07 08:30:49";
});
$dates = ["2012-06-11 08:30:49",
        "2012-06-07 08:03:54",
        "2012-05-26 23:04:04",
        "2012-05-27 08:30:00",
        "2012-06-08 08:30:55",];
$filtered_array=array();
foreach ($dates as $value) {
    if($value <= "2012-06-07 08:30:49"){
        array_push($filtered_array, $value);
    }
}

print_r($filtered_array);