Arrays 如何显示今天和未来四天的php

Arrays 如何显示今天和未来四天的php,arrays,laravel,Arrays,Laravel,我有一个应用程序,我需要在今天和未来四天显示 $daysOn = [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Mon']; $daysOff = [ 'Sat', 'Sun' ]; $today = date("N", strtotime('today')); $yesterday = date("N", strtotime('yesterday')); $daysOnRearranged = array_merge(array_slice($daysOn

我有一个应用程序,我需要在今天和未来四天显示

$daysOn = [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Mon'];

$daysOff = [ 'Sat', 'Sun' ];

$today = date("N", strtotime('today'));

$yesterday = date("N", strtotime('yesterday'));

$daysOnRearranged = array_merge(array_slice($daysOn, $today), array_slice($daysOn, 0, $yesterday));
这是目前向我展示的:

Monday, Monday, Tuesday, Wednesday, Thursday.
我今天和接下来的几天都需要展示

$daysOn = [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Mon'];

$daysOff = [ 'Sat', 'Sun' ];

$today = date("N", strtotime('today'));

$yesterday = date("N", strtotime('yesterday'));

$daysOnRearranged = array_merge(array_slice($daysOn, $today), array_slice($daysOn, 0, $yesterday));

有什么想法吗?

在这里,我使用
strotime
功能,使用类似“今天+1天”的字符串计算日期。我还使用了字符“D”,返回“一天的文本表示,三个字母”。如果你想知道当天的全名,可以把“D”改为“l”

$nextDays = [];

for ($i = 0; $i <= 4; $i++) {

        $nextDays[] = date("D", strtotime("today + $i day"));
}

var_dump($nextDays);
$nextDays=[];

对于($i=0;$iOn天,检查循环内部的检查条件。
请查看下面的代码片段和正在运行的代码

<?php

function pr($arr = [])
{
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
}

$daysOn  = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Mon'];
$daysOff = ['Sat', 'Sun'];
$today     = date("N", strtotime('today'));
$nextDays = [];
$j = $i = 0;

while($j != 4){ // until it found next 4 working days
    $day = date('D', strtotime("today +$i day")); // it will keep checking for next working days
    if(in_array($day, $daysOn)){ // will check if incremental day is in on days or not
        $nextDays[] = $day; // it will add on days in result array
        $j++;
    }
    $i++;
}
pr($nextDays);die;

你能用所需的输出更新你的问题吗?我如何从中删除周末?非常感谢。更新了如何删除周末。
while($j != 4){
    $day = date('D', strtotime("today +$i day"));
    if(!in_array($day, $daysOff)){
        $nextDays[] = $day;
        $j++;
    }
    $i++;
}
pr($nextDays);die;