对于更高级的程序员来说有点愚蠢的问题,但在我学习php的过程中,我遇到了涉及一个?值为0,-1和1的符号,例如:
return ($a > $b) ? -1 : 1;
或
[$index ? 0 : 1];
我试图理解这个陈述的作用及其使用原因的逻辑,任何帮助都会有很长的路要走,谢谢
答案 0 :(得分:2)
return ($a > $b) ? -1 : 1;
如果$a
大于$b
返回-1
,则返回1
。
ternary operator(a.k.a简写if / else语句)
答案 1 :(得分:2)
?
是三元运算符。如果布尔表达式($a > $b)
为真,则返回-1
,否则返回1
。它只是一个简短的if else
组合。
总结boolean expression ? x : y
等于:
if (boolean expression)
evaluates to x
else
evaluates to y
答案 2 :(得分:2)
答案 3 :(得分:2)
是否与C的if语句类似,但是在一行中?所以我认为这是PHP的等价物:
if ($a > $b) {
return -1;
} else {
return 1;
}
虽然短手版本是:
return (($a > $b) ? -1 : 1);
所以你所拥有的是这样的:
(if true) ? then : else;
查看this了解详情。