Привет.
Пишу функцию и спотыкнулся на условии, с которым никогда не выходило проблем.
Есть код:PHP код:В чем логика. У нас есть переменная А равная 4. Дальше идет условие: если А не равно 2, или А не равно 4, тогда выводится ошибка. Но А равно 4-м! Тогда почему выводится ошибка? Я никак этого не могу понять. А самое интересное, что если в условии изменить ИЛИ на И, то все работает как надо, хотя не должно работать, ибо при И выполняться должны оба условия.
$a = 4;
if($a != 2 || $a != 4) {
echo 'Ошибка';
exit();
}
- 24.02.2016 18:39
- Регистрация: 10.11.2013
- Сообщений: 78
- Репутация: 3
- 24.02.2016 18:56
- Регистрация: 21.11.2013
- Сообщений: 407
- Репутация: 58
DEL
Последний раз редактировалось Max111; 24.02.2016 в 19:32.
- 24.02.2016 19:26
Desh, все правильно отрабатывает, вам бы логику подтянуть.
а!=2 (ПРАВДА) ИЛИ а!=4(ЛОЖЬ)
ПРАВДА ИЛИ ЛОЖЬ = ПРАВДА
ПРАВДА И ЛОЖЬ = ЛОЖЬСпасибо сказали:
Desh(24.02.2016), - 24.02.2016 19:32
Потому что стоит 2 ИЛИ 4. По первой проверке 2 не равно 4, вот и срабатывает.
Спасибо сказали:
Desh(24.02.2016), - 24.02.2016 20:06
- Регистрация: 10.11.2013
- Сообщений: 78
- Репутация: 3
brainix, понял, хотя раньше подобных условий писал множество и всегда срабатывало. Может подскажете, у меня функция принимает значения. И перед работой функции мне нужно проверить эти значения. Если они не равны одном или второму или третьему, тогда нужно выводить ошибку. Как правильно такое организовать?
- 26.02.2016 08:10
- Регистрация: 17.03.2015
- Сообщений: 52
- Репутация: 16
Desh, ИЛИ заменить на И
Спасибо сказали:
Desh(26.02.2016), - 26.02.2016 21:13
- Регистрация: 28.04.2014
- Сообщений: 11
- Репутация: 4
PHP код:$a = 4;
if($a != 2 && $a != 4) {
echo 'Ошибка';
exit();
}
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Компанент "перенаправление" перестал работать | Joomla | 5 | 07.01.2013 20:22 |
Запросы к яндексу - где взять оператор "поисковой темы" | Поисковые системы | 1 | 24.03.2012 21:26 |