dedlfix: verinfachte IF-Abfrage

Beitrag lesen

echo $begrüßung;

liess dir doch nochmal deine Aussage durch, du sagtest es geht nur bei einem Leerstring. Aber klar das du deine eigene Aussage nicht selbst widerlegen möchtest.

Das Anliegen des OP war, sich Tipparbeit zu sparen, und mehrere Werte effektiv mit einem anderen Wert zu vergleichen. Sein Versuch, das gemäß menschlichem Sprachgebrauch zu notieren, wurde von Cheatah zu Recht einkassiert, was nun von dir als Blödsinn ohne nähere Erklärung abgetan wurde.

Es geht hier nicht um Leerstrings, es könnte zwar sein, dann kann man mein Beispiel aber natürlich auch mit empty nutzen.

Dem OP ging es in dem speziellen Fall um den Vergleich mehrerer Variablen mit einem Leerstring. Nur für den Fall der Leerstrings (oder "0"-Strings) lässt sich das vereinfachen, indem man auf PHPs automatische Typumwandlung setzt, die bei boolschen Operatoren die Werte gemäß den bekannten Regeln nach boolean konvertiert und dann gemäß den logischen Operatoren auswertet. Wenn man auf diese PHP-Verhaltensweise baut, muss man die implizit nach boolean konvertierten String mit and oder && verknüpfen - soweit liegst du richtig - aber das anschließende Vergleichen mit einem Leerstring ist unsinnig. Eine Negation reicht. Es bleibt aber dabei, dass dieses Vorgehen, Strings per Typecast nach Boolean zu testen, nicht intuitiv ist. Es war auch nach meiner Lesart nicht das Anliegen des OP speziell diese Verhaltensweise verwenden zu wollen, sondern einfach nur ein paar »= ""« einzusparen. Deine Kurzantwort suggeriert, dass dies (prinzipiell) möglich sein. Mit anderen String-Werten als Leerstrings geht das nicht.

Es geht hier um einen Denk-Fehlers des OP

Nein, darum geht es mir nicht nur. Es geht auch darum, dass man das nicht _generell_ so zusammenfassen kann, wie sich der OP das vorgestellt hat.

und wenn du mein Beispiel mal genau anschaust, siehst du das es beliebig nutzbar ist.

Eben nicht, sondern nur bei einem Test auf Leerstrings.

echo "$verabschiedung $name";