我有一个包含以下格式的日期的数组。我想在 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;
}
- 2 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消