2014-02-19 8 views
0

Я пытаюсь написать оператор if, который зависит от двух условий.IF Statement - 2 условия

Я попытался:

<?php if($nominated=='yes' || $approved=='no'): ?> 

Но это не работает, как он отображает результаты, которые имеют либо, то есть, все результаты, которые номинируются и все результаты, которые не утверждены.

Это неверно.

например. всего 10 строк. 4, 1 из них утверждены. Используя приведенный выше код, тянет все 4, так как выполняются первые критерии $nominated=='yes'. Когда я пытаюсь вытащить только 1 строку, строка, которая номинирована и не утверждена.

+2

Что делать, если вы меняете '||' на '&&'? –

+2

Моя мама послала меня в магазин углов, чтобы принести молоко, и если у них есть яйца, принесите шесть. Поэтому я принесла ей шесть бутылок молока. – DanFromGermany

ответ

3

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

if($nominated=='yes' && $approved=='no') 

|| = OR - должны удовлетворять только 1 условие истинным

&& = И - оба условия должны быть удовлетворены чтобы быть правдой

Если вы хотите узнать больше о бинарных логических операторах, вы можете проверить это руководство. here

+1

Если вы продолжите работу с PHP, вы узнаете, что PHP оценивает, если операции слева направо; если он подключен через OR, а первый не работает, он не проверяет следующие условия. Значит, в высокопроизводительных приложениях вы всегда ставите самый дорогой аргумент вправо и самый дешевый влево. – DanFromGermany

+0

Спасибо, я подумал, что, наверное, забыл обновить страницу, когда я ее протестировал. –

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