Вопрос в в каком порядке ваш компьютер интерпретирует логическую логику:
Возьмите, например, следующие условия:
A: Ложь B: Истина
если бы вы написали if (A && B)
, что на самом деле делает ваш компьютер, так это подумайте:
Является ли A верным?Нет.
Ну, A и B не может быть правдой, потому что A не правда.Поэтому это утверждение неверно.[компьютер игнорирует остальную логику]
Из-за этого, когда вы вычисляете оператор isset(var1) && ( (var1 != something1) || (var1 != something2) )
, он сначала проверяет isset(var1)
, и если это неверно, то пропускает остальную часть условия,так же, как ваше двойное утверждение.