Hallo Pit,
im Übrigen ist die Bedingung unnötig kompliziert.
Abfragen der Form !A || (A && B)
lassen sich vereinfachen.
- Ist
A == FALSE
, ist nur der linke Teil desOR
relevant (PHP guckt sich den rechten Teil dann erst gar nicht an, das nennt man Shortcut-Auswertung). - Ist
A == TRUE
, ist der rechte Teil relevant, aber die AND-Verknüpfung mit A unnötig weil Du jetzt ja weißt, dass A wahr ist.
Also: !A || (A && B)
ist dasselbe wie !A || B
Wenn Dich die Argumentation nicht überzeugt, vergleiche die Wahrheitstabellen. Diese Kenntnis dieser Transformation ist genau so wichtig wie die De-Morgan Regeln.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi