$time = array('2011-10-25','2011-10-27','2011-11-01');等等,如何判断时间是否是连续的?

解决方案 »

  1.   

    给出一个自己些的方法:$a = array('2011-10-30','2011-10-31','2011-11-01');
    $flag = true;
    for($i=0;$i<count($a)-1;$i++){
    $nextDay = date("Y-m-d",strtotime("+1 day",strtotime($a[$i])));
    if($a[$i+1]!=$nextDay){
    $flag = false;
    break;
    }}
    if($flag==true){
    echo "时间连续";
    }else{
    echo "时间不连续";
    }
      

  2.   

    顺便帮你贴过来,对于无序的也可以用。<?php
    $arr = array('2011-10-25','2011-10-27','2011-10-26','2011-10-24');
    function compare($x,$y){
     return (strtotime($x)-strtotime($y));
    }
    uasort($arr,'compare');
    $arr = array_slice($arr,0);for($i = 1;$i<count($arr);$i++){
       if((strtotime($arr[$i])-strtotime($arr[0]))==($i*24*60*60)){
         $flag = 1;
       }
       else{
         $flag = 0;
         break;
       }
    }
    echo $flag?"连续":"不连续";