PHP中的条件运算符快捷方式

cha*_*imp 0 php conditional-operator

有人知道PHP中是否有以下语句的快捷方式?

$output = isset($some_value) ? $some_value : "Some Value Not Set";
echo $output;
Run Code Online (Sandbox Code Playgroud)

这是我经常遇到的事情,其中​​$ some_value实际上很长并且可能涉及一个函数,例如:

$output = $this->db->get_where('my_db',array('id'=>$id))->row()->some_value) ? $this->db->get_where('my_db',array('id'=>$id))->row()->some_value) : "Some Value Not Set";
echo $output;
Run Code Online (Sandbox Code Playgroud)

似乎应该有一个操作员或功能来执行此操作.我可以很容易地写一个,我不是在寻找答案,而是如果有人知道内置的快捷方式.

che*_*rtz 8

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

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

  • 哇,Zend的愚蠢终于来了.在他们的无知中,他们在他们的文档中称条件运算符为"三元运算符",现在他们已经实现了它的一种形式,即它是一个二进制运算符而不是三元运算符**.这就像圣诞节一样具有讽刺意味. (4认同)
  • 我们称之为三元混淆器. (2认同)