为了账号安全,请及时绑定邮箱和手机立即绑定

删除当前年份之前的数组项

删除当前年份之前的数组项

PHP
湖上湖 2021-06-29 17:59:24
我有一个包含以下格式的日期的数组。我想在 2019 年之前删除带有密钥的项目。这是我迄今为止尝试过的代码。但我没有得到任何结果。任何人都可以帮助我。$array = [  "date_2018_08" => 81,  "date_2018_09" => 70,  "date_2018_10" => 70,  "date_2018_11" => 95,  "date_2018_12" => 75,  "date_2019_01" => 91,  "date_2019_02" => 78,  "date_2019_03" => 95,  "date_2019_04" => 68];$year = 2019;$month = 4;$array = array_filter($array,function($date){    $t1 = strtotime(str_replace(["date_", "_"], ["", "-"], $date));    return $t1 >= strtotime(str_replace(["date_", "_"], ["", "-"], '2019-01-01'));});
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以将array_filter( doc ) 与标志“ARRAY_FILTER_USE_KEY”一起使用:


$year = 2019;

$filtered = array_filter(

    $array,

    function ($key) use ($year) {

        $parts = explode("_", $key);

        return $parts[1] >= $year;

    },

    ARRAY_FILTER_USE_KEY

);

现场示例:3v4l


编辑:


使用简单foreach:


foreach($array as $k => $v) {

    $parts = explode("_", $k);

    if ($parts[1] >= $year)

        $filtered[$k] = $v;

}


查看完整回答
反对 回复 2021-07-02
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信