在循环内添加或插入条件

时间:2018-06-10 16:51:12

标签: php mysql

我有一个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.   

星期五只是一个例子,它可能会不时变化,所以基本上它是动态的。 这可能是最好的方法吗?

1 个答案:

答案 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
    }

}