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:///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
廣告