В PHP doc сказано, что оператор! имеет более высокий приоритет, чем любые другие логические или любые операторы сравнения.
Я создал 3 условия:
$x = 4; $y = -12;
if(!$x >= 0 AND !$y >= 0)){echo '1/ Validated';}
if(!($x >= 0) AND !($y >= 0)){echo '2/Validated';}
if(!($x >= 0 AND $y >= 0)){echo '3/Validated';}
Первый, если эхо подтверждено, второй - нет, а третий -.
Я просто не понимаю, почему первое эхо подтверждено. Насколько я понимаю, здесь сравниваются сравнения $ x> = 0 и $ y> = 0 (истина и ложь для начала), а затем результат инвертируется, что делает его ложным и истинным, и мы НАКОНЕЦ имеем if (false AND true) и код внутри if не должен быть выполнен.
Полагаю, я ошибаюсь из-за способности "!" оператор или на приоритет, но я не могу понять, где.
Может кто-нибудь уточнить, пожалуйста?