php 连续三元,[译] php 中更简洁的三元运算符 ?:
今天我發現了PHP三元運算符的一個小小的用法. 這給我干涸的大腦一點樂趣!
PHP 三元運算符是對參數賦值時候的一個簡潔的主要用法. 一個主要的用法: PHP 三元運算符能夠讓你在一行代碼中描述判定代碼, 從而替換掉類似以下的代碼:
if (isset($value)) {
$output = $value;
} else {
$output = 'No value set.';
}
使用以下代碼替代:
$output = isset($value) ? $value : 'No value set.';
第二個代碼例子是非常簡潔的用法, 在多種情況下(并非所有), 這是一個非常實用的用法. 有許多關于是否應該使用三元運算符的爭辯;讓我說, 這就是一個工具, 向其他工具一樣, 只是用的正確與否.
常用的語法是 (expression) ? value if truthy : value if falsy.這個表達式可以是一個變量, 測試這個變量是真還是假:
$output = $value ? $value : 'No value set.';
問題是: 以上的例子很常用同時也重復的有些煩人: 寫兩次 $value 就像是感到錯誤一樣.
好在是, 我今天發現在PHP 5.3中介紹了一個更簡潔的使用三元運算符的語法. 你可以從手冊中學到, 但是這里我們怎么樣讓上邊的例子更簡潔呢:
$output = $value ?: 'No value set.';
這個看起來很熟悉, 這個是因為很像其他的簡寫運算符:
$value = $value . $other_value;
轉換成:
$value .= $other_value;
為了更簡潔, 這個意味著我們可以這樣簡寫并不意味著我們就應該這么寫. 但是, 當我們寫簡潔代碼的時候, 這種方式會看起來更清楚, 我們應該這么寫, (并且這個特性允許我們在多種情況下使用這個運算符[this feature allows us to DRY up the ternary operator in many cases])
總結
以上是生活随笔為你收集整理的php 连续三元,[译] php 中更简洁的三元运算符 ?:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wps表格线怎么错开_wps表格图形怎么
- 下一篇: 黑盒测试之场景法