PHP 简短语句使变量回退到默认值

标签 php function syntax

<分区>

我们知道,如果我们使用 javascript 或 python,我们可以使用以下语句来获取变量或其默认值。

// javascript
alert(a || 'default');

# python
print(a or 'default');

在 php 中,我们可能需要调用以下内容:

echo $a ? $a : 'default';

如果 $a 是一个很长的语句,情况就更糟了:

echo (
    we_made_many_calculation_here_and_this_is_the_result() ?
    we_made_many_calculation_here_and_this_is_the_result() :
    'default'
);

var $result = we_made_many_calculation_here_and_this_is_the_result();
echo $result ? $result : 'default';

以上任何一项,我认为都不整洁。

而且我盲目地寻找任何答案,寻找语句或内置函数来简化工作。但是我尝试了很多方法都找不到答案。

所以请帮忙。

最佳答案

关于这个问题:http://php.net/manual/en/language.operators.logical.php#115208

因此,查看三元运算符的文档,可以使用:

echo $a ?: 'defaults for a';

表达式 (expr1) ? (expr2) : (expr3) 如果 expr1 的计算结果为 TRUE,则计算结果为 expr2,如果 expr1 的计算结果为 FALSE,则计算为 expr3。

自 PHP 5.3 起,可以省略三元运算符的中间部分。表达式 expr1 ?: 如果 expr1 的计算结果为 TRUE,则 expr3 返回 expr1,否则返回 expr3。


参见:http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary

关于PHP 简短语句使变量回退到默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297071/

相关文章:

Haskell——理解编写器类型声明

php - 当MySQL列为1时显示文本

PHP MySQL 如何获取在 while 循环中创建的变量

javascript - 函数中定义的 JS 对象字面量会被优化吗?

javascript - 单选按钮在javascript函数中产生未定义的值

c++ - 通过引用传递指针是执行此操作的正确方法吗?

syntax - VisualForce IF 语句 - 需要了解 "or"的语法

php - Symfony:持久化嵌入表单并避免重复条目

php - 在 laravel 的急切加载中从多对多关系中获取第一个或最新的第一个

javascript - 调用类似 : <function> <statement> 的函数