我正在尝试使用此代码仅打印Y-m-d格式的工作日
$strtdate = "2017-04-10";
$incrmntvar = 0;
while($incrmntvar <= $gettotaldays){
$checkday = date("D",strtotime($strtdate));
echo "{$checkday} and {$strtdate}". "<br>";
if($checkday != 'Sat' || $checkday != 'Sun'){
$incre_date = strtotime("1 day", strtotime($strtdate));
$strtdate = date("Y-m-d", $incre_date);
$incrmntvar ++;
}
else{
$incre_date = strtotime("1 day", strtotime($strtdate));
$strtdate = date("Y-m-d", $incre_date);
echo "else " . $strtdate . "<br>";
}
}
但它会打印所有日子,包括星期六和星期日。我的代码有什么问题
答案 0 :(得分:1)
在星期六/星期日比较中,您使用的是或(||
),而不是和(&&
)。如果$checkday
为'Sat'
,则$checkday != 'Sun'
的检查仍将返回true,因此仍会输出周末天数。
因此,以下一行
if($checkday != 'Sat' || $checkday != 'Sun')
应该更正
if($checkday != 'Sat' && $checkday != 'Sun')