处理Ruby与PHP中的'或'条件

时间:2010-05-30 19:52:46

标签: php ruby

我不知道该怎么称呼它,所以我举一个例子。

在PHP中

1==2 || 2返回1true

在Ruby中

1==2 || 2返回2(第二个语句,如果第一个评估为false)。

在PHP中实现类似的东西有什么简短的方法吗?

3 个答案:

答案 0 :(得分:2)

怎么样

1==2 ? 1==2 : 2

或在PHP 5.3中

1==2 ?: 2

答案 1 :(得分:1)

在PHP中,布尔表达式的结果总是一个布尔值。因此1==2 || 2true

我能想到的最好的事情是

($var = 1 == 2) || ($var = 2)

然后$var将为2

根据Matchu问题的答案,您可能需要:

(($var = 1) == 1) || ($var = 2)

($var = 1 == 1) || ($var = 2)

答案 2 :(得分:1)

1 == 2 or 2怎么样?

但是,如果直接打印,结果可能不一样,因此您需要将结果放在变量中。举个例子:

$result = "a" or 2;
var_dump($result); // prints string(1) "a"

var_dump("a" or 2); // prints bool(true)

看看这里:http://www.php.net/manual/en/language.operators.logical.php