为什么不能使用内联if语句返回?

时间:2016-04-13 13:22:57

标签: php

我似乎想要返回时在PHP中使用内联if语句是有限制的。

function example($Variable)
{
    ( (int) (++$Variable) == 1 ) ? return true : return false;
}

$test = example(1);

预期:false

这给出了一个奇怪的错误,因为我以前从未见过这个错误。

  

错误类型:4

     

消息:语法错误,意外'返回'(T_RETURN)

有人可以解释为什么你不能在这样的if语句中使用return吗?

1 个答案:

答案 0 :(得分:8)

三元组已经返回结果。你不能返回一个返回函数。

您可以在变量结果之前返回,如下所示:

function example($Variable)
{
    return ( (int) (++$Variable) == 1 ) ? true : false;
}
$test = example(1);