PHP - If()条件

时间:2012-03-03 05:08:41

标签: php function

我需要检查今天是星期六还是星期天。我试图使用简单的if功能,但我不知道为什么它似乎不起作用。

<?php
 $tdate = date("D");
 echo "Today is $tdate - ";
 if ($tdate != "Sat" || $tdate != "Sun") {
   echo "Weekday";
 }
 else {
  echo "Weekend: $tdate";
 }
?>

我得到的输出如下:

  

今天是星期六 - 工作日

if函数究竟出了什么问题?

4 个答案:

答案 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的条件是真的。请改为使用&&