如何在三元运营商中处理比较运营商(宇宙飞船运营商)

时间:2015-04-05 19:26:54

标签: ternary-operator spaceship-operator php-7

这个问题有点先发制人,因为php 7还没有发布。我很好奇如何在三元运营商的背景下处理太空船运营商。

所以,如果我有一个前太空飞船三元表达式,例如:

$foo = 1;
$bar = 0;
echo 'foo is ' . ( ($foo > $bar) ? 'greater than' : ( ($foo < $bar ) ? 'less than' : 'equal to' ) ) . ' bar.';

使用比较运算符的等效三元运算符是什么?三元是否会有一些处理这种情况的方法?我非常使用三元运算符,如果有一些方法可以在比较运算符相关的各种情况下简化代码,我很好奇。

1 个答案:

答案 0 :(得分:3)

its RFC的文档中可以看出,宇宙飞船运营商主要是在必须处理订单时使用。

我认为缩短你发布的代码可能没有帮助,主要是因为三元运算符需要一个布尔值而三元运算符在两种情况下都返回“true”值(1和-1)价值观是不同的。换句话说,当你将其返回值强制转换为布尔值时,宇宙飞船运算符等同于!=运算符。

无论如何,你可以在3v4l.org上试验它,就像我做here

一样