在PHP中返回操作数的逻辑运算符

时间:2012-07-03 13:01:52

标签: php design-patterns logical-operators idioms

在任何“理智”编程语言中,从C到Javascript,如果a || b为真,则a or b(或a)等表达式的评估结果为a b否则,为a = params.a || default_a运算符创建类似and和类似的内容,但PHP要求不同。

有没有办法在PHP中获取此功能?或者,有没有PHP程序员使用的“编码习惯/模式”而不是下面的代码?

$a = $my_a || $default_a; // nope, $a gets a boolean

因为写if ($my_a) $a = $my_a; else $a = $default_a;$a = $my_a ? $my_a : $default_a;对我来说似乎非常难看,并且通过让我重复$my_a之类的内容而违反基本的“干扰”代码,这也可能很长和复杂的表达。

这是一件小事,我知道,在double clawed hammer的土地上并不是那么奇怪,但它真的让我感到烦恼!

1 个答案:

答案 0 :(得分:0)

值得一提的是:它是C和Javascript,这有所不同,因为“在'理智'语言中”(;))布尔运算的返回值是布尔值而不是其操作数之一。

然而

$a = $my_a ?: $default_a;