嵌套的foreach增加两个索引/检查日期是否在2个数组之间

有没有办法同时增加两个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日期。有人可以指引我正确的方向吗?也许我做错了,但我不知道该怎么做