2014-02-09 51 views
0

我有這樣的聲明,如果我不能弄明白:PHP需要幫助與if語句和或

<?php if($isFriend = true || $isOwner = true){echo $height;}else{/* do nothing*/}?>

上面的代碼應該做的,如果是朋友,或者是業主則顯示高度否則顯示沒有。

我不明白爲什麼它錯了,它沒有做我想做的事。

+2

您正在使用'='(賦值)而不是'=='(比較)。 –

回答

1

問題是你正在使用的任務,而不是比較:

$isFriend = true; 

是賦值

$isFriend == true; 

是一個比較。但對於已經是布爾值的值,您實際上不需要將它們與true進行比較。

if ($isFriend || $isOwner) … 

會沒事的。

1

你必須使用==,而不是=

==等於同時燎=用於值賦值給一個變量將檢查平等。 所以你需要更改爲:

<?php if($isFriend == true || $isOwner == true){echo $height;}else{/* do nothing*/}?> 
0

您分配,而不是比較。 但請勿使用==請使用=== ,因爲在php中==運算符是強制性的。

而且在總體上是不好的做法,寫

if ($condition === true) {...} 

喜歡

if ($condition) {...} 
0

試試這個:

<?php if($isFriend || $isOwner){echo $height;}else{/* do nothing*/}?> 

不需要檢查如果一個變量的值真實與否只是把它作爲一個條件。

現在您嘗試的比較需要使用==比較您的代碼的任何兩個示例。

<?php if($isFriend == true || $isOwner == true){echo $height;}else{/* do nothing*/}?> 

注:強烈建議使用===而不是==做棒檢查,避免類型轉換。