在在线教程中,我看到了以下代码片段:
$this->data = $data ?: \Input::all();
这是标准的三元运营商吗? $data
评估为true
时会发生什么?
以下代码是否与我发布的原始代码完全相同?
$this->data = $data ? null : \Input::all();
答案 0 :(得分:8)
这是一个三元运算符,
的捷径 $this->data = $data? $data : \Input::all();
来自http://php.net/manual/en/language.operators.comparison.php
从PHP 5.3开始,可以省略三元运算符的中间部分。
表达式 expr1?:expr3 如果 expr1 评估为TRUE则返回 expr1 ,否则返回 expr3 。