PHP - If…Else 语句



实现条件逻辑的能力是任何编程语言(包括 PHP)的基本需求。PHP 有三个关键字(也称为 **语言结构)——if、elseif** 和 **else** ——用于根据不同的条件做出决策。

**if** 关键字是用于条件执行代码片段的基本结构。很多时候,**if** 关键字与 **else** 关键字一起使用,尽管这并非总是强制性的。

如果希望在条件为真时执行某些代码,而在同一条件为假时执行其他代码,则使用“if....else”语句。

语法

PHP 中 **if** 语句的用法和语法类似于 C 语言。以下是 PHP 中 **if** 语句的语法:

if (expression)
   code to be executed if expression is true;
else
   code to be executed if expression is false;

**if** 语句后面始终跟一个布尔表达式。

  • 如果布尔表达式计算结果为真,则 PHP 将执行该表达式后面的语句。

  • 如果布尔表达式计算结果为假,则忽略该语句。

  • 如果算法需要在表达式为假时执行另一个语句,则将其写在 **else** 关键字之后。

示例

这是一个简单的 PHP 代码,演示了 **if else** 语句的用法。有两个变量 $a 和 $b。代码识别哪个变量更大。

<?php
   $a=10;
   $b=20;
   if ($a > $b)
      echo "a is bigger than b";
   else
      echo "a is not bigger than b";
?>

运行上述代码时,将显示以下 **输出**:

a is not bigger than b

交换 "a" 和 "b" 的值并再次运行。现在,您将获得以下输出:

a is bigger than b

示例

以下示例将在当前日期为星期五时输出“祝您周末愉快!”,否则将输出“祝您今天愉快!”:

<?php
   $d = date("D");

   if ($d == "Fri")
      echo "Have a nice weekend!"; 
   else
      echo "Have a nice day!"; 
?>

它将产生以下 **输出**:

Have a nice weekend!

在 PHP 中使用 endif

PHP 代码通常与 HTML 脚本混合在一起。我们可以在 PHP 代码的 **if** 部分以及 **else** 部分插入 HTML 代码。PHP 为 **if** 和 **else** 语句提供了另一种语法。将开括号更改为冒号 (:),并将闭括号更改为 **endif;**,以便可以将 HTML 块添加到 **if** 和 **else** 部分。

<?php
   $d = date("D");

   if ($d == "Fri"): ?>
      <h2>Have a nice weekend!</h2>

   <?php else: ?>
      <h2>Have a nice day!</h2>
<?php endif ?>

确保上述脚本位于 PHP 服务器的文档根目录中。访问 URL **https://127.0.0.1/hello.php**。如果当前日期不是星期五,则浏览器应显示以下输出:

Have a nice day!

在 PHP 中使用 elseif

如果希望在多个条件中的一个为真时执行某些代码,则使用 **elseif** 语句。PHP 中的 **elseif** 语言结构是 **if** 和 **else** 的组合。

  • 与 **else** 类似,它指定了在原始 **if** 表达式计算结果为假时要执行的备用语句。

  • 但是,与 **else** 不同的是,它仅在 **elseif** 条件表达式计算结果为真时才会执行该备用表达式。

if (expr1)
   code to be executed if expr1 is true;
elseif (expr2)
   code to be executed if expr2 is true;
else
   code to be executed if expr2 is false;

示例

让我们修改上述代码,以便在星期日、星期五和其他日期显示不同的消息。

<?php
   $d = date("D");
   if ($d == "Fri")
      echo "<h3>Have a nice weekend!</h3>";

   elseif ($d == "Sun")
      echo "<h3>Have a nice Sunday!</h3>"; 

   else
      echo "<h3>Have a nice day!</h3>"; 
?>

在星期日,浏览器将显示以下 **输出**:

Have a nice Sunday!

示例

以下是一个示例,用于展示 **if–elselif–else** 语句的用法:

<?php
   $x=13;
   if ($x%2==0) {
      if ($x%3==0) 
         echo "<h3>$x is divisible by 2 and 3</h3>";
      else
         echo "<h3>$x is divisible by 2 but not divisible by 3</h3>";
   }

   elseif ($x%3==0)
      echo "<h3>$x is divisible by 3 but not divisible by 2</h3>"; 

   else
      echo "<h3>$x is not divisible by 3 and not divisible by 2</h3>"; 
?>

上述代码还使用了 **嵌套 if** 语句。

对于 **x** 的值为 13、12 和 10,**输出** 将如下所示:

13 is not divisible by 3 and not divisible by 2
12 is divisible by 2 and 3
10 is divisible by 2 but not divisible by 3
广告