Php 从数组中获取剩余日期

Php 从数组中获取剩余日期,php,Php,我有一个leave数组(从表中检索) 如果我给出2,它应该在下一个第2个工作日返回2019-10-27 如果我给1,它应该在下一个工作日返回2019-10-24 你能帮我拿这个吗 $priority=2; $date="2019-10-22"; echo $this->checknextdate($date,$priority); function checknextdate($date,$priority){ $leavearray=array("2019-10-22","2

我有一个leave数组(从表中检索)

如果我给出2,它应该在下一个第2个工作日返回2019-10-27 如果我给1,它应该在下一个工作日返回2019-10-24 你能帮我拿这个吗

$priority=2;
$date="2019-10-22";
echo $this->checknextdate($date,$priority);

function checknextdate($date,$priority){ 
    $leavearray=array("2019-10-22","2019-10-23","2019-10-25","2019-10-26","2019-10-28","2019-10-30");
    do{
       if(in_array($date,$leavearray))
       {
           $date = date('Y-m-d', strtotime($date.'+1 day'));
       }else{
           return $date;
           $checkok=1;
           exit();
       }
     } while ($checkok==1); 
}

我认为您可以这样做,使用原始代码,尽管这可能不是完美的解决方案:

$priority = 2;
$date = "2019-10-22";
echo checknextdate($date,$priority);

function checknextdate($date, $priority){ 
    $leavearray = array("2019-10-22","2019-10-23","2019-10-25","2019-10-26","2019-10-28","2019-10-30");

    do{
       $date = date('Y-m-d', strtotime($date . '+1 day'));

        if (!in_array($date, $leavearray)) {
           $priority--;
        }
    } while ($priority > 0); 

    return $date;
}

我认为您可以这样做,使用原始代码,尽管这可能不是完美的解决方案:

$priority = 2;
$date = "2019-10-22";
echo checknextdate($date,$priority);

function checknextdate($date, $priority){ 
    $leavearray = array("2019-10-22","2019-10-23","2019-10-25","2019-10-26","2019-10-28","2019-10-30");

    do{
       $date = date('Y-m-d', strtotime($date . '+1 day'));

        if (!in_array($date, $leavearray)) {
           $priority--;
        }
    } while ($priority > 0); 

    return $date;
}

这里的do循环有什么意义?似乎有点发疯了这里的do循环有什么意义?似乎有点发红