Nella tabella "ufficiale" (http://it2.php.net/manual/en/language.operators.php) l'operatore di negazione si trova piuttosto in alto nella classifica. Tuttavia:

Note: Although = has a lower precedence than most other operators, PHP will still allow expressions similar to the following: if (!$a = foo()), in which case the return value of foo() is put into $a.
Attenzione: la pagina del manuale tradotta in italiano dice cose simili ma non identiche. In ogni caso, la sostanza è la stessa.