PHP 中的一行 if 語句

Shraddha Paghdar 2023年1月30日
  1. PHP 中的 if...else 語句
  2. PHP 中的 if...elseif...else 語句
  3. 在 PHP 中提供一行 if 語句的三元運算子
PHP 中的一行 if 語句

作為程式設計師,我們通常必須根據某些條件做出決定,並編寫在滿足條件時由程式執行的程式碼。if 語句是所有程式語言中都可用的決策語句。我們將瞭解 PHP 中的一行 if 語句及其替代方法。

PHP 支援 4 種不同型別的條件語句。所有條件語句都支援條件內部的邏輯運算子,例如&&||

if 語句將決定執行的流程。它僅在條件匹配時才執行 if 塊的程式碼。程式按順序評估程式碼;如果第一個條件為真,則序列中的所有其他條件都將被忽略。這適用於所有條件語句。

語法

    if(condition) {
        // Code to be executed
    }

例子

<?php
    $grade = "A";
    if($grade = "A"){
        echo "Passed with Distinction";
    }
?>

輸出:

Passed with Distinction

PHP 中的 if...else 語句

如果條件匹配,則執行 if 塊的程式碼;否則,它執行 else 塊的程式碼。對 if 語句的 else 語句的替代選擇增強了決策過程。

語法

    if(condition){
        // Code to be executed if condition is matched and true
    } else {
        // Code to be executed if condition does not match and false
    }

例子

<?php
    $mark = 30;
    if($mark >= 35){
        echo "Passed";
    } else {
        echo "Failed";
    }
?>

輸出:

Failed

PHP 中的 if...elseif...else 語句

它根據匹配條件執行程式碼。如果沒有條件匹配,預設程式碼將在 else 塊內執行。它結合了許多 if...else 語句。程式將嘗試找出第一個匹配條件,一旦找到匹配條件,它就會執行其中的程式碼並中斷 if 迴圈。如果沒有給出 else 語句,程式預設不執行任何程式碼,將執行最後一個 elseif 後面的程式碼。

語法

    if (test condition 1){
        // Code to be executed if test condition 1 is true
    } elseif (test condition 2){
        // Code to be executed if the test condition 2 is true and condition1 is false
    } else{
        // Code to be executed if both conditions are false
    }

例子

<?php
    $mark = 45;
    if($mark >= 75){
        echo "Passed with Distinction";
    } else if ($mark > 35 && $mark < 75) {
        echo "Passed with first class";
    } else {
        echo "Failed";
    }
?>

輸出:

Passed with first class

在 PHP 中提供一行 if 語句的三元運算子

它是 if...else 的替代方法,因為它提供了編寫 if...else 語句的縮寫方式。有時很難閱讀使用三元運算子編寫的程式碼。然而,開發人員使用它是因為它提供了一種編寫緊湊 if-else 語句的好方法。

語法

(Condition) ? trueStatement : falseStatement
  1. (Condition) ? : 檢查條件
  2. trueStatement:條件匹配的結果
  3. falseStatement:條件不匹配的結果

如果條件評估為真,則三元運算子選擇冒號左側的值,如果條件評估為假,則選擇冒號右側的值。

讓我們檢查以下示例以瞭解此運算子的工作原理:

例子:

  • 使用 if...else
<?php
$mark = 38;

if($mark > 35){
    echo 'Passed'; // Display Passed if mark is greater than or equal to 35
} else{
    echo 'Failed'; // Display Failed if mark is less than 35
}
?>
  • 使用三元運算子
<?php
$mark = 38;

echo ($mark > 35) ? 'Passed' : 'Failed'; 
?>

輸出:

Passed

這兩個語句在位元組碼級別沒有區別。它編寫緊湊的 if-else 語句,僅此而已。請記住,某些程式碼標準中不允許使用三元運算子,因為它會降低程式碼的可讀性。

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn