Mac*_*lor 6 php ternary-operator
我正在尝试使用三元运算符来缩短代码.
这是我的原始代码:
if ($type = "recent") {
$OrderType = "sid DESC";
} elseif ($type = "pop") {
$OrderType = "counter DESC";
} else {
$OrderType = "RAND()";
}
Run Code Online (Sandbox Code Playgroud)
如何在代码中使用三元运算符而不是if
s/else
s?
$OrderType = ($type = "recent") ? "sid DESC" : "counter DESC" ;
Run Code Online (Sandbox Code Playgroud)
这是我尝试的代码,但不知道如何添加" elseif
部分".
Pas*_*TIN 14
这被称为三元运算符 ;-)
你可以使用其中两个:
$OrderType = ($type == 'recent' ? 'sid DESC' : ($type == 'pop' ? 'counter DESC' : 'RAND()'))
Run Code Online (Sandbox Code Playgroud)
这可以理解为:
$type
是的话'recent'
'sid DESC'
$type
是的话'pop'
'counter DESC'
'RAND()'
几个笔记:
并且,作为关于三元运算符的参考,引用PHP手册的Operators部分:
第三组是三元运算符:
?:
.
它应该用于根据第三个表达式在两个表达式之间进行选择,而不是选择两个句子或执行路径.
周围带括号的三元表达式是一个非常好的主意.