2013-08-04 106 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