2013-08-04 105 views
-3

我的PHP代码片段PHP正IF语句VS速记IF语句

function CheckNumber($number){ 
if($number==100){ 
    return true; 
else{ 
    return false; 
}; 
} 

我想要的简写(三元运算符)if语句做同样的事情,但是这并不工作:

function CheckNumber($number){ 
    $result = ($number==100) ? return true : return false; 
    echo $result; 
} 

我知道echo在这里肯定是错的,但是我该怎么做才能将result的结果返回给函数呢?

+1

'='分配,我想你想'=='的平等(或可能'===')。 –

+0

而'false'而不是'fasle'。而if语句首先是愚蠢的,只是'return($ number == 100);' – JJJ

+0

谢谢,这是一个错字。问题仍然存在 –

回答

6
return $number == 100; 

==已经产生boolean值,没有必要做它的if并为它创建另一个布尔值。您也不需要将此中间布尔值赋予变量。

您的特别问题是return是一个语句,不能成为表达式的一部分。如果有的话,代码需要看起来像这样:

$result = $number == 100 ? true : false; 
return $result; 

但是,再次,可以减少到上面的版本。

+0

很好的答案。我添加了一些额外的信息,以便OP在未来知道。 – 1234567