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中使用三元運算符求值true
和false
表達式
我們將深入了解三元運算符的使用方式。下面的示例將求值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
值,Nan
,0
或空值,則表達式將返回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 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