2014-02-09 2 views
0

я это, если утверждение, что я не могу понять:PHP необходима помощь с, если заявление и или

<?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*/}?> 

Нет необходимости, чтобы проверить, если значение переменной true или не просто поставить его в качестве условия.

Теперь сравнение, которое вы пытались использовать, должно быть == для сравнения между двумя примерами вещей для вашего кода.

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

Примечание: Настоятельно рекомендуется использовать === вместо == сделать проверку палку и избежать преобразования типов.

Смежные вопросы