三元運算子就像所有邏輯運算子、算術運算子和比較運算子一樣。它是一個條件運算符,可以幫助檢查某些條件並相應地完成工作。三元運算子減少了程式碼的長度。您可以使用三元運算子輕鬆檢查所有條件和比較。這是人們通常用於條件檢查的傳統 if-else 運算子的替代方案。此運算符的工作順序是從左到右。當用戶需要節省時間時,這是一個非常好的選擇。在本主題中,我們將學習 PHP 中的三元運算子。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
我們使用三元運算子的原因是為了簡化 if-else 語句。它可用於分配變數。使用此運算符的另一個原因是當使用者想要在驗證後分配資料或驗證表單時。三元運算子也很容易理解和使用。它還可以節省時間,並在當前條件下遇到空值時建立通知。
文法
三元運算子因其存在三個運算元而得名。這三個運算元代表一個條件,條件為真時代表一個結果,結果為假時代表第三個運算元。其文法如下:
Condition? Statement 1: Statement2
上面的文法可以解釋如下。三元運算子的工作方式與 if-else 語句類似。這裡的條件是if條件,要進行驗證檢查。這會傳回一個布林值,可以是 true 也可以是 false。如果此條件成立,則執行語句 1。如果語句 1 不為 true,那麼就像 if else 語句 2 中的 else 條件一樣,就會執行。
讓我們來看幾個例子,以便我們更好地理解三元運算符的工作原理。
這是三元運算子的簡單範例
代碼:
<?php $age=19; print ($age>=18) ? "You can vote": "You are not eligible to vote"; ?>
這是三元運算子最簡單的範例,您可以在其中了解其工作原理。這裡變數$age儲存候選人的年齡。他們正在驗證候選人是否有資格投票。這裡只是程式碼的一個生命週期;正在檢查此情況。它驗證瞭如果年齡大於 18 歲,則「您可以投票」;否則,「你沒有資格投票。」
輸出:
現在讓我們檢查一下情況,年齡小於 18 時則相反。在這種情況下,程式碼如下。
代碼:
<?php $age=15; print ($age>=18) ? "You can vote": "You are not eligible to vote"; ?>
此範例將取得語句 2 作為結果。它將評估情況。這裡的age變數的值小於18。不符合三元運算子中的條件;因此它的輸出將是「你沒有資格投票。」
輸出:
您也可以使用速記三元運算子。您可以消除左側運算符,從而獲得更短的表達式。
這可以表示為:
$result = $initial ?: 'default';
這裡這個表達式的工作原理是,直到初始值不為 false 為止,條件將被執行。一旦條件評估為 false,將使用預設值。這也可以透過使用普通的三元運算子來使用,如下所示:
$result = $condition ? $condition : 'default';
為了測試這一點,讓我們來看一個範例
代碼:
<?php $num=5; $num1=6; $num2=10;print ($num > $num1) ? ($num > $num2) : 'Num2 is largest'; ?>
此程式碼檢查指定的兩個條件。它首先檢查 $num 是否大於 $num1。這裡這個條件是假的。然後它將移動到下一個條件。此條件檢查 $num 是否大於 $num2。這個條件也會回傳 false,因為 5 不大於 10。這裡預設值設定為 Num2 是最大的。第二個條件也不成立,因此它將選擇預設值作為輸出。因此這裡的輸出將是「Num2 是最大的」。
輸出:
代碼:
<?php $score = 10; $age = 20; print ($age > 10 ? ($score < 80 ? 'behind' : 'above average') : ($score < 50 ? 'behind' : 'above average')); // returns 'You are behind' ?>
Consider two variables, one for score and one for age, and use a ternary operator. Here it will check if the age is greater than 10 and the score is less than 80; then, the output will be behind. Else the output will be above average. Similarly, we are checking another example where the age is greater than 10, but the score is less than 50. Then also the output will be behind, else it will be above average. The output of the above code will be: Considering your age and score; you are: behind.
Output:
Below are a few of the advantages explained.
The ternary operator may look different from other operators and may also confuse you a bit initially. But once you know how to use it, you can easily use and master it. It will make your code look more manageable and easy to understand.
以上是PHP 中的三元運算符的詳細內容。更多資訊請關注PHP中文網其他相關文章!