我有一个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.
星期五只是一个例子,它可能会不时变化,所以基本上它是动态的。 这可能是最好的方法吗?
答案 0 :(得分:0)
您可以使用日期('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
}
}