在while循环中使用if语句计算两个日期


PHP: E-leave: Calculating two dates using if statement in a while loop

我试图通过排除星期六和星期日来计算两个日期之间的差异。输出应该是9,但我得到的却是1。

<?php
$date1= mktime(0, 0, 0, 12, 20, 2011);
$date2= mktime(0, 0, 0, 12, 30, 2011);
$day1= date("D",$date1);
$day2= date("D",$date2);

$i=0;
while ($date1<=$date2)
{

if ($day1 != "Sat" || $day2 !="Sat" || $day1 != "Sun" || $day2 !="Sun")
   {
    $i++;
   }
else
   {
   $i+0;
   }
   $date1=array(date("Y",$date1), date("n",$date1), date("d",$date1)+1);
   }
     $diff=$i;
    echo $diff;
 ?>

似乎是你的if语句中的条件给出了问题。

  if ($day1 != "Sat" && $day2 !="Sat" && $day1 != "Sun" && $day2 !="Sun")
 {
  $i++;
 }
 else
 {
  $i+0;
  }

切换到&&