Оператор IF с операторами OR и NOT не работает должным образом - PullRequest
0 голосов
/ 17 ноября 2011
<?php

$param = 'c';

if ($param != 'a' || $param != 'b') 
{
    echo 'Param != a OR b';
}else
{
    echo 'Param = a OR b';
}

?>

Приведенный выше оператор if не работает должным образом, поскольку if ВСЕГДА будет оцениваться в ИСТИНА независимо от значения $param.

. Есть ли другой способ построения if утверждение, которое будет работать как ожидалось (с сохранением первоначального намерения ... т.е. $param не равное a или b)?

1 Ответ

1 голос
/ 17 ноября 2011

Согласно законам де Моргана :

!(A OR B) = !A AND !B
!(A AND B) = !A OR !B

В вашем случае вы должны заменить || на оператор &&.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...