这个符号是什么?:在PHP中意味着什么?

时间:2016-06-25 14:08:36

标签: php syntax

当场景中使用的简写语法时,我正在尝试使用它,但它给了我一些奇怪的结果

($value == 'yes' ?: 'Show Text');

由于

1 个答案:

答案 0 :(得分:6)

这是PHP 5.3中引入的binary conditional operator。 PHP的条件运算符传统上是三元运算符(接受三个操作数),但添加了二进制(接受两个操作数)形式,使得Map?之间的操作数可选:

  

从PHP 5.3开始,可以省略三元运算符的中间部分。如果:评估为expr1 ?: expr3,则表达式expr1会返回expr1,否则会返回TRUE

因此,在您的示例中,如果expr3$value,则结果为TRUE(1),因为结果是第一个表达式的值('yes')。如果$value == 'yes'不是$value,则结果为'yes'