PHP 中的問號符號

Subodh Poudel 2023年9月19日
  1. 介紹PHP中的三元運算符
  2. 在PHP中使用三元運算符求值truefalse表達式
PHP 中的問號符號

在PHP中,問號?運算符被稱為三元運算符或條件三元運算符。本文將深入探討PHP中的三元運算符。

介紹PHP中的三元運算符

三元條件運算符?也被稱為條件表達式或三元運算符。它具有以下語法:

$variable = (condition) ? value_if_true : value_if_false;

以下是各個組件的解釋:

  • condition:一個布爾表達式,將其求值。

  • value_if_true:如果condition為真,則賦予$variable的值。

  • value_if_false:如果condition為假,則賦予$variable的值。

三元運算符求值condition;如果它為真,則將value_if_true賦給$variable;否則,將value_if_false賦給$variable

代碼示例:

<?php
$num = 10;
$result = ($num % 2 == 0) ? "Even" : "Odd";
echo "The number $num is $result.";
?>

輸出:

The number 10 is Even.

我們可以使用三元運算符來替代if-else構造,縮短代碼長度並提高可讀性。我們可以使用它來編寫更簡單的條件表達式。

代碼示例:

<?php
$count = (true) ? 1 : 0;

if (true)
{
    $count = 1;
}
else
{
    $count = 0;
}
echo $count;
?>

輸出:

1

然而,當我們鏈接或嵌套三元運算符時,閱讀代碼可能會比較困難。三元運算符的另一個缺點是,在子表達式中無法設置斷點,因此很難調試代碼。

在PHP中使用三元運算符求值truefalse表達式

我們將深入了解三元運算符的使用方式。下面的示例將求值true表達式並相應地執行代碼塊。

canVote()函數將確定一個人是否可以投票。首先,變量$age如果大於等於18則求值。

接下來,我們以21作為參數調用canVote()函數,即合法投票年齡。在這裡,表達式求值為true,並執行第二個表達式。

代碼示例:

<?php
function canVote($age){
    echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(21);
?>

canVote()函數將確定一個人是否可以投票。首先,變量$age如果大於等於18則求值。

接下來,我們以21作為參數調用canVote()函數,即合法投票年齡。在這裡,表達式求值為true,並執行第二個表達式。

輸出:

you can vote

在下個例子中,如果我們提供小於18的值,比較表達式將求值為false。因此,將顯示第三個表達式,即你無法投票

代碼示例:

<?php
function canVote($age){
    echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(17);
?>

輸出:

you cannot vote

在其他情況下,求值結果將返回false值。例如,如果表達式返回null值,Nan0或空值,則表達式將返回false值。

以下示例展示了falsy值的情況。當這些值被求值時,三元運算符將執行第三個表達式。

代碼示例:

<?php
function Car($name){
    echo $name?$name:"no name";
    echo "<br>";
}
Car("Tesla");
Car(null);
Car("");
Car(0);
?>

輸出:

Tesla
no name
no name
no name
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相關文章 - PHP Operator