drus40229 2015-04-30 07:09
浏览 27
已采纳

如何区分日期列表之间的天数? PHP

I've been trying to make a list of days of when I went to school and when I didn't.

I'm looping the days here. Another array contains the days I didn't go to school.

<?php
$fecha1 = "2015-03-10";
$fecha2 = date("Y-m-d",strtotime($fecha1."+ 10 days"));
$fecha3 = array("2015-03-11","2015-03-14","2015-03-17");
$j=1;

for($i=$fecha1;$i<$fecha2;$i = date("Y-m-d", strtotime($i ."+ 1 days"))){
    for ($n=0; $n <count($fecha3) ; $n++) { 
        if($i==$fecha3[$n]){
            $obs="not there";

        }else{
            $obs="there";       
        }
    }   
    echo "Day ".$j." ".$i."---".$obs."<br />";
    $j++;
}
?>

and the output is

Day 1 2015-03-10---there
Day 2 2015-03-11---there
Day 3 2015-03-12---there
Day 4 2015-03-13---there
Day 5 2015-03-14---there
Day 6 2015-03-15---there
Day 7 2015-03-16---there
Day 8 2015-03-17---not there
Day 9 2015-03-18---there
Day 10 2015-03-19---there

I dont understand why it doesnt say "not there" on day 2 2015-03-11 and day 5 2015-03-14, someone help me please I've been with this for hours.

  • 写回答

2条回答 默认 最新

  • dpkiubcc265650 2015-04-30 07:13
    关注

    You should add a break once the needle is found:

    if($i==$fecha3[$n]){
            $obs="not there";
            break; // this is important
        }else{
            $obs="there";
        }
    

    Another alternative is also in_array() for searching:

    if(in_array($i, $fecha3)){
        $obs="not there";
    }else{
        $obs="there";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题