我有一个php脚本,用于两个日期之间的循环。
$begin = new DateTime("2018-06-01");
$end = new DateTime("2018-06-30");
for($i = $begin; $i <= $end; $i->modify('+1 day')){
echo $i->format("Y-m-d");
}
然后我有一个 mysql 数据结果(5 行(,其中包含星期五的日期。
2018-06-01 - 星期五 2018-06-08 - 星期五 2018-06-15 - 星期五 2018-06-22 - 星期五 2018-06-29 - 星期五
我怎样才能将其集成到 for 循环中,以便如果星期五日期匹配,我可以回显一些东西。
我必须在for循环中执行foreach循环,但问题是它重复了,这实际上是我的MySQL数据结果中返回的包含星期五日期的行数。
for($i = $begin; $i <= $end; $i->modify('+1 day')){
foreach($result as $row){
if($i->format("Y-m-d")!=$row['rest_day']){ echo $i->format("Y-m-d"); }
else{ echo 'Rest Day';}
}
}
The display here is that for each day it is duplicated 5 times, i think it is because of the number of fridays which is 5, this is actually the number of rows returned from the mysql data result.
星期五只是一个例子,它可能会不时变化,所以基本上它是动态的。 这里最好的方法是什么?
您可以使用日期("D"(从常规日期格式检查日期代码。
$begin = new DateTime("2018-06-01");
$end = new DateTime("2018-06-30");
for($i = $begin; $i <= $end; $i->modify('+1 day')){
if($i->date('D') == 'Fri'){
//echo something
}
}