Задать вопрос

Как задать несколько условий в if?

Ребят, подскажите пожалуйста! Не пойму, что за фигня, имеется элементарный код:
if($row['type'] != 14 OR $row['type'] != 11) {
        echo 'error'; 
} else {
        echo 'ok';
}
который не работает!

$row['type'] получаю из базы путём $row = $smth->fetch(); # PDO
Если оставить одно условие - всё ОК работает.
Может как-то сменился синтаксис?
Вообще в ступоре, как такое может быть.
  • Вопрос задан
  • 29956 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
@iznaur
if($row['type'] !== 11 && $row['type'] !== 14) {
Ответ написан
Комментировать
ellrion
@ellrion
$row['type'] != 14 OR $row['type'] != 11
Это условие всегда true, так как по нему $row['type'] должен быть 14 и 11 одновременно что бы не попасть под условие
нужно сменить OR на AND (&& - лучше)
а ещё лучше так:
if(!in_array((int)$row['type'], [14, 11], true)) {
        echo 'error'; 
} else {
        echo 'ok';
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
if($row['type'] != 14 OR $row['type'] != 11) {

Всегда будет true.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы