我需要检查今天是星期六还是星期天。我试图使用简单的if功能,但我不知道为什么它似乎不起作用。
<?php
$tdate = date("D");
echo "Today is $tdate - ";
if ($tdate != "Sat" || $tdate != "Sun") {
echo "Weekday";
}
else {
echo "Weekend: $tdate";
}
?>
我得到的输出如下:
今天是星期六 - 工作日
if函数究竟出了什么问题?
答案 0 :(得分:2)
您正在执行OR,它会检查一个或其他语句是否为真。这意味着虽然$tdate != "Sat"
为false,但$tdate != "Sun"
为真。如果您只是将OR(||)更改为AND(&amp;&amp;),您的代码将正常工作。
答案 1 :(得分:1)
if ($tdate != "Sat" && $tdate != "Sun") {
答案 2 :(得分:1)
您需要解决的逻辑错误
你在说什么
如果“今天不是星期六”或“今天不是星期天”,那么它是一个工作日
因此,收益为TRUE,因为两个条件中的一个满足(当天是星期六或星期日)并且它进入真正的块并打印为工作日
修复可以有两种方式,第1种是xdazz给出的,或者是下面的
<?php
$tdate = date("D");
echo "Today is $tdate - ";
if (!($tdate == "Sat" || $tdate == "Sun")) {
echo "Weekday";
}
else {
echo "Weekend: $tdate";
}
?>
答案 3 :(得分:0)
if ($tdate != "Sat" || $tdate != "Sun")
当它是Sat
时,所以它不是Sun
,而if
的条件是真的。请改为使用&&
。