2011-01-29 27 views
1

是否有一個更短,更乾淨的方式來寫這個?較短/更清晰的代碼三元語句

<?php $a = ($a) ? $a : 'empty'; ?> 
+2

未優化,但括號是不必要的;三元運算符在C語言中的優先級低:http://php.net/manual/en/language.operators.precedence.php –

回答

6

在PHP5.3

<?php $a = ($a) ?: 'empty'; ?> 
+0

http://www.php.net/manual/zh/language.operators.comparison .php#language.operators.comparison.ternary –

+0

如果你使用isset,請注意:'$ a = isset($ a)?:'empty';'它會返回一個布爾值......有點煩人因爲大部分時間你都無法使用這個功能。 – Cobby