3

在一个在线教程中,我看到了以下代码片段:

$this->data = $data ?: \Input::all();

这是标准的三元运算符吗?$data评估为时会发生什么true

以下代码是否与我发布的原始代码执行相同的操作?

$this->data = $data ? null : \Input::all();
4

1 回答 1

8

它是一个三元运算符,

 $this->data = $data? $data : \Input::all();

来自http://php.net/manual/en/language.operators.comparison.php

从 PHP 5.3 开始,可以省略三元运算符的中间部分。

表达式expr1 ?:如果expr1的计算结果为 TRUE,则expr3返回expr1 ,否则返回 expr3。

于 2013-10-16T10:27:37.320 回答