2011-01-29 29 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