你知道一个很好的PHP黑客做内联条件分配吗?

我真的很喜欢|| JavaScript中的运算符,我们可以在其中进行内联条件赋值.

var a = 0;
var b = 42;
var test = a || b || 'default value';
console.log(test); // 42

这很清楚,不需要太多行.

在PHP中,这个逻辑运算符返回布尔值:

$a = 0;
$b = 42;
$test = $a || $b || 'default value';
print_r($test); // bool(true)

当然,我们可以使用ternaries进行内联分配:

$test = $a ? $a : $b ? $b : 'default';
print_r($test); // int(42)

但这使得代码含糊不清,这并不容易阅读.

所以我的问题来了:

Do you know a nice PHP hack to do inline conditional assignation ?

解决方法:

在PHP 5.3 you can do this中:

$test = $a ?: ($b ?: 'default value');
上一篇:c# – 允许多个系统显式转换器,但不允许多个用户显式转换器.为什么?


下一篇:Python中模运算符的时间复杂度