PHP-If()条件

PHP-If()条件,php,function,Php,Function,我需要检查今天是星期六还是星期天。我试着使用简单的if函数,但我不知道为什么它似乎不起作用 <?php $tdate = date("D"); echo "Today is $tdate - "; if ($tdate != "Sat" || $tdate != "Sun") { echo "Weekday"; } else { echo "Weekend: $tdate"; } ?> 我得到的结果如下: 今天是周六-周日 if函数到底有什么问题 if (

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

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

我得到的结果如下:

今天是周六-周日

if函数到底有什么问题

if ($tdate != "Sat" && $tdate != "Sun") {
当它是
Sat
,所以它不是
Sun
,如果
为真,则使用
&


如果
为Sat
,则它不是Sun
,如果
为true,则条件为
。请使用
&&

您正在执行OR,它检查一条或多条语句是否为true。这意味着当
$tdate!=“Sat”
为假,
$tdate!=“Sun”
是正确的。如果您只需将OR(| |)更改为AND(&&&),代码将正常工作。

您正在执行OR,它检查一条或另一条语句是否正确。这意味着当
$tdate!=“Sat”
为假,
$tdate!=“Sun”
是正确的。如果您只需将OR(| |)更改为AND(&&&),您的代码就可以正常工作。

这是一个需要修复的逻辑错误

你说的是

如果“今天不是星期六”或“今天不是星期天”,那么它就是一个工作日

因此产生TRUE,因为两个条件中的一个已经满足(当一天是星期六或星期天),它进入TRUE块并作为工作日打印

修复方法有两种,第一种是xdazz提供的方法,第二种是下面的方法

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

这是一个需要修复的逻辑错误

你说的是

如果“今天不是星期六”或“今天不是星期天”,那么它就是一个工作日

因此产生TRUE,因为两个条件中的一个已经满足(当一天是星期六或星期天),它进入TRUE块并作为工作日打印

修复方法有两种,第一种是xdazz提供的方法,第二种是下面的方法

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


您只需将OR(| |)改为AND(&&&)=请看这个答案,了解一个更简单的想法:您只需将OR(| |)改为AND(&&)=请看这个答案,了解一个更简单的想法:您不需要解释问题,只需要展示解决方案。在我看来,这是一个糟糕的答案,所以我否决了。@RichardJ.RossIII这没有必要解释,也许只是错过了op。你没有解释问题,你只是展示解决方案。在我看来,这是一个糟糕的答案,所以我否决了。@RichardJ.RossIII这没有必要解释,也许只是错过了op。我有点困惑。对于带有且不应该同时满足这两个条件的if语句?如果($tdate!=“Sat”&&$tdate!=“Sun”){}<?如果($tdate!=“Sat”| |$tdate!=“Sun”){}<表示如果不是星期六,请检查第二个条件,如果不是星期天,则运行括号中的内容。但如果是星期六,则跳过此if函数。我在这里有点困惑。对这个问题的回答应该有助于我澄清这一困惑。谢谢基本上,如果这一天不是周末,那么您将签入此代码段。若要检查是否是周末,请将
==
|
一起使用,而不是
=&&
编码>如果它仍然让你感到困惑,最好画一条线,检查它的行为。我有点困惑。对于带有且不应该同时满足这两个条件的if语句?如果($tdate!=“Sat”&&$tdate!=“Sun”){}<?如果($tdate!=“Sat”| |$tdate!=“Sun”){}<表示如果不是星期六,请检查第二个条件,如果不是星期天,则运行括号中的内容。但如果是星期六,则跳过此if函数。我在这里有点困惑。对这个问题的回答应该有助于我澄清这一困惑。谢谢基本上,如果这一天不是周末,那么您将签入此代码段。若要检查是否是周末,请将
==
|
一起使用,而不是
=&&
编码>如果它仍然让您感到困惑,最好画一条线并检查它的行为