Jan L.: Logik einer "&&" Frage

Beitrag lesen

Hallo,

if(empty($is) && empty($a) && empty($t) && empty($h) && (empty($r) || $r==1))

Auch wenn sich dein Problem schon gelöst hat, noch ein Tip:

Wenn du solche Bedingungen hast, die mit einem logischen 'oder' Verknüpft sind, solltest du immer den einfacher zu prüfenden Teil an den Anfang schreiben. In deinem Fall:

if ($r == 1 || ...)

Der ganze Ausdruck wird ja wahr, wenn mindestens ein Teilausdruck wahr ist. Wenn also der erste (am einfachsten/schnellsten zu überprüfende) Ausdruck schon wahr ist, muß der zweite/n-te überhaupt nicht mehr geprüft werden. Das ist immer gut für die Performance.

In diesem Fall macht es wohl wenig Unterschied, es ist aber eine gute Idee, wenn man sich das prinzipiell angewöhnt.

Gruß, Jan