我可以在PHP类方法返回语句中使用三元吗?

我可以在PHP类方法返回语句中使用三元吗?,php,return-value,ternary-operator,Php,Return Value,Ternary Operator,我能做这个吗?(我现在无法亲自测试) 是的,你能做到 这起作用了。 例如: class CClass { public function overSimplifiedTernaryTest($condition = false) { return ($condition) ? 'someString' : 'someOtherString'; } } $x = new CClass(); echo $x->overSimplifiedTernary

我能做这个吗?(我现在无法亲自测试)

是的,你能做到


这起作用了。

例如:

class CClass
{
    public function overSimplifiedTernaryTest($condition = false)
    {
        return ($condition) ? 'someString' : 'someOtherString';
    }
}

$x = new CClass();
echo $x->overSimplifiedTernaryTest(false) . 
     '\r\n' . 
     $x->overSimplifiedTernaryTest(true);
delete $x;

三元运算符将返回一个值,即您随后从函数返回的值。这就是为什么你要做的不会有问题。它也可以在其他语言中使用,例如,您也可以在Javascript中使用。

它可以使用,下次您可以使用它来测试代码,而不是提问

您的代码:


您还可以参考其他在线工具来测试代码。

是。(评论,因为这不值得代表分数…)这是一个非常值得考虑的问题:这个条件运算符测试真的简化了吗?你可以在codepad.org测试代码样本。我知道它可以工作,但我认为这是一个有效的问题。当我在PHP.org上看到它时,它让我怀疑这什么时候可能不起作用。注意:请注意,三元运算符是一个语句,它的计算结果不是变量,而是语句的结果。了解是否要通过引用返回变量很重要。语句返回$var==42$a:$b;因此,通过引用返回函数将不起作用,并且在以后的PHP版本中会发出警告。谢谢@Stephen您还可以查看我刚才为其他在线工具添加的用于测试代码的链接。
class CClass
{
    public function overSimplifiedTernaryTest($condition = false)
    {
        return ($condition) ? 'someString' : 'someOtherString';
    }
}

$x = new CClass();
echo $x->overSimplifiedTernaryTest(false) . 
     '\r\n' . 
     $x->overSimplifiedTernaryTest(true);
delete $x;