有没有办法同时增加两个foreach循环?
我有2个数组:
$datum = new DateTime("now");
$jaar = date("y",strtotime('now'));
$maand = strftime("%B");
$vakanties_start = array(
"BeginKerst" => new DateTime("$jaar-01-01"),
"Voorjaar" => new DateTime("$jaar-02-22"),
"Mei" => new DateTime("$jaar-04-25"),
"Zomer" => new DateTime("$jaar-07-18"),
"EindKerst" => new DateTime("$jaar-12-21"),
"Test" => new DateTime("$jaar-05-20")
);
$vakanties_eind = array(
"BeginKerst" => new DateTime("$jaar-01-05"),
"Voorjaar" => new DateTime("$jaar-03-01"),
"Mei" => new DateTime("$jaar-05-03"),
"Zomer" => new DateTime("$jaar-08-30"),
"EindKerst" => new DateTime("$jaar-12-31"),
"Test" => new DateTime("$jaar-05-25")
);
假期的开始和假期的结束。我需要检查今天是否在那些日子之间。
我试图用2 foreach循环来检查它,但是比我将得到此错误: 开始休假:1-1 假期结束:5-1
开始:1-1 结束:3-1
等等。这显然不是我想要的方式,因为这意味着在第一个foreach结束时,假期在1-1和31-12之间。
我尝试过的另一件事是像这样验证数组的键:
foreach ($vakanties_start as $vakantie_start){
foreach ($vakanties_eind as $vakantie_eind){
if ($vakantie_start->format('Y-m-d') >= $datum->format('Y-m-d') && $vakantie_eind->format('Y-m-d') <= $datum->format('Y-m-d')){
if (key($vakantie_start) == key($vakantie_eind)){
echo $vakantie_start->format('Y-m-d') . "<br>" . key($vakanties_start) . "<br>";
echo $vakantie_eind->format('Y-m-d') . "<br>" . key($vakanties_eind) . "<br>";
}
}
}
}
但这会使代码仅显示1-1至5-1日期。有人可以指引我正确的方向吗?也许我做错了,但我不知道该怎么做