php - 你知道一个很好的 PHP hack 来做内联条件分配吗?

标签 php javascript operators

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

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

读起来很清楚,不要占用太多行。


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

$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');

关于php - 你知道一个很好的 PHP hack 来做内联条件分配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16505166/

相关文章:

c++ - 使用 '&&' 而不是 'and' 运算符编码

javascript - 服务器设置了mime类型,为什么要写<script type ="text/javascript">?

java - 无法比较的类型(int 和 obj)(bug?)

php - 如何在 MySQL + PHP 中将所有列作为行

php mysql 搜索

javascript - QWebView无法显示通过javascript设置的外部图片内容 $ ("#<node_name>".html(<html_content>)

javascript - Emberjs 从 ArrayController 填充 Ember 下拉框

php - 如何在 PHP 中使用 OR 运算符?

php - 在 PHPWord 中嵌套节或重新排序节

php语法问题。 (在 php 数组中的 css 中的 php)