dedlfix: Dynamische if-Anweisung

Beitrag lesen

echo $begrüßung;

if((empty($haus))||(empty($auto)|| usw....){}
die abzufragenden Variablen und deren Anzahl (also in diesem Fall $haus, $auto, ...) stehen in einer Datenbank

Code in einer Datenbank halte ich für einen Design-Fehler. Aber wie auch imer ...

Die If-Abfrage kann also mal länger sein (mit sehr vielen Bedingungen), aber -falls in der Datenbank nur ein passender Eintrag vorhanden ist- nur eine einzige Bedingung.
Wie schreib ich jetzt die If-Anweisung?

Definiere eine Variable, die als Flag funktioniert. Je nach deiner Logik belegst du sie zunächst mit true oder false. Lasse dann in einer Schleife die gewünschten Variablen, Ausdrücke, wasauchimmer prüfen und ziehe dann die Flag-Variable in die deiner Logik entsprechenden Richtung oder lass sie unverändert. Am Ende sollte das Flag das Prüfergebnis anzeigen. Falls es schon während einer der Prüfungen eindeutig wird, kannst du die Schleife auch an der Stelle abbrechen. (Dieses Kurzschlussverfahen kommt bei logischen Verknüpfungen (and, or) zur Anwendung. Sobald feststeht, dass sich am Ergebnis nichts mehr ändert, z.B. einer der and-Partner false ergibt, werden nachfolgende Ausdrücke nicht mehr ausgewertet.)

echo "$verabschiedung $name";