首頁 > 後端開發 > php教程 > php讓三元運算子用起來更簡單的小技巧

php讓三元運算子用起來更簡單的小技巧

巴扎黑
發布: 2023-03-14 18:30:02
原創
1478 人瀏覽過

今天我發現了PHP三元運算子的一個小小的用法. 這給我乾涸的大腦一點樂趣!

PHP 三元運算符是對參數賦值時候的一個簡潔的主要用法. 一個主要的用法: PHP 三元運算子能夠讓你在一行程式碼中描述判定程式碼, 從而替換掉類似以下的程式碼:

<?php
if (isset($value)) {  
  $output = $value;
} else {   
 $output = &#39;No value set.&#39;;
}
登入後複製
登入後複製

使用以下程式碼替代:

<?php
$output = isset($value) ? $value : &#39;No value set.&#39;;
登入後複製
登入後複製

第二個程式碼範例是非常簡潔的用法, 在多種情況下(並非所有), 這是一個非常實用的用法. 有許多關於是否應該使用三元運算符的爭辯;讓我說, 這就是一個工具,向其他工具一樣, 只是用的正確與否.

常用的語法是(expression) ? value if truthy : value if falsy.這個表達式可以是一個變數, 測試這個變數是真還是假:

<?php$output = $value ? $value : &#39;No value set.&#39;;
登入後複製

問題是: 以上的例子很常用同時也重複的有些煩人: 寫兩次$value 就像是感到錯誤一樣.

好在是, 我今天發現在PHP 5.3 中介紹了一個更簡潔的使用三元運算符的語法. 你可以從手冊中學到, 但是這裡我們怎麼樣讓上邊的例子更簡潔呢:

<?php
$output = $value ?: &#39;No value set.&#39;;
登入後複製
登入後複製

這個看起來很熟悉, 這個是因為很像其他的簡寫運算符:

<?php
$value = $value . $other_value;
登入後複製
登入後複製

轉換成:

<?php
$value .= $other_value;
登入後複製
登入後複製

為了更簡潔, 這個意味著我們可以這樣簡寫並不意味著我們就應該這麼寫. 但是, 當我們寫簡潔程式碼的時候, 這種方式會看起來更清楚, 我們應該這麼寫, (並且這個特性允許我們在多種情況下使用這個運算子[this feature allows us to DRY up the ternary operator in many cases])

原文地址Even shorter ternary operators in PHP using ?:

今天我發現了PHP三元運算子的一個小小的用法. 這給我乾涸的大腦一點樂趣!

PHP 三元運算子是對參數賦值時候的一個簡潔的主要用法. 一個主要的用法: PHP 三元運算子能夠讓你在一行程式碼中描述判定程式碼, 從而替換掉類似以下的程式碼:

<?php
if (isset($value)) {  
  $output = $value;
} else {   
 $output = &#39;No value set.&#39;;
}
登入後複製
登入後複製

使用以下程式碼替代:

<?php
$output = isset($value) ? $value : &#39;No value set.&#39;;
登入後複製
登入後複製

第二個程式碼範例是非常簡潔的用法, 在多種情況下(並非所有), 這是一個非常實用的用法. 有許多關於是否應該使用三元運算符的爭辯;讓我說, 這就是一個工具, 向其他工具一樣, 只是用的正確與否.

常用的語法是(expression) ? value if truthy : value if falsy.這個表達式可以是一個變數, 測試這個變數是真還是假:

<?php
$output = $value ? $value : &#39;No value set.&#39;;
登入後複製

問題是: 以上的例子很常用同時也重複的有些煩人: 寫兩次$value 就像是感到錯誤一樣.

好在是, 我今天發現在PHP 5.3 中介紹了一個更簡潔的使用三元運算子的語法. 你可以從手冊中學到, 但是這裡我們怎麼樣讓上邊的例子更簡潔呢:

<?php
$output = $value ?: &#39;No value set.&#39;;
登入後複製
登入後複製

這個看起來很熟悉, 這個是因為很像其他的簡寫運算符:

<?php
$value = $value . $other_value;
登入後複製
登入後複製

轉換成:

<?php
$value .= $other_value;
登入後複製
登入後複製

為了更簡潔, 這個意味著我們可以這樣簡寫並不意味著我們就應該這麼寫. 但是, 當我們寫簡潔程式碼的時候, 這種方式會看起來更清楚, 我們應該這麼寫, (並且這個特性允許我們在多種情況下使用這個運算子[this feature allows us to DRY up the ternary operator in many cases])

以上是php讓三元運算子用起來更簡單的小技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板