dedlfix: Abfragen von Variablen

Beitrag lesen

echo $begrüßung;

Nun musst Du aber nicht beleidigte Leberwurst spielen.

Bin ich nicht, bin freundlich gelaunt, nur sachlich. Es war unbeabsichtigt, ich hab schon versucht, es weniger scharf zu formulieren.

» » Schlechter Stil ist es, einen boolschen Variableninhalt oder ein Ausdrucksergebnis gegen einen der boolschen Werte true/false zu testen
Diese Aussage ist für PHP nicht in Ordnung, da man nicht sicher sein kann, dass eine Variable, die für einen booleschen Wert vorgesehen war, diesen auch enthält.

Diese Aussage kann ich so nicht akzeptieren. Sie klingt so, als ob eine Variable einfach aus Lust und Laune ihren Typ ändern würde. Sie enthält genau das, was man in sie hineingelegt hat. Und man muss auch nicht auf einen boolschen Typ testen, wenn jemands aus Faulheit oder Schlampigkeit eine 0 statt eines false in die Variable schreibt. Denn wenn sie nur für den boolschen Kontext vorgesehen ist, dann ist alles richtig, was von der automatischen Typumwandlung als false erkannt wird (oder true im entgegengesetzten Fall).

Anders sind die Situationen, in denen festgelegt ist, dass beispielsweise neben einem Integerwert auch ein boolsches false als Funktionsergebnis zurückkommen kann und man dann den Fall 0 versus false unterscheiden können muss. Hier haben wir einen "mixed" Kontext und keinen boolschen mehr. Deshalb erfordert der die etwas andere Herangehensweise mit dem typsicheren Vergleich. Aber genau den Fall hat der OP nicht. Deshalb ist es für ihn im Augenblick auch nicht weiter interessant, dass es einen typsicheren Vergleich gibt. Er bringt hier keine Vorteile, nur mehr Tipparbeit.

Schlampigkeit ist kein Zeichen von besonders schlauer Programmierung. Auch, wenn eine explizite Schreibweise "noob" aussehen sollte, ist sie doch einer verkürzten, kryptsichen Schreibweise immer vorzuziehen. Da mögen Profis[tm] darüber grinsen, soviel sie wollen.

Das ist richtig. Aus ordentlicher Programmierung kann man deutlich besser den eigentlichen Sinn entnehmen. Dass man sich dessen befleißigen sollte, kann ich nur unterstützen. Das ändert aber nichts an der Arbeitsweise PHPs.

echo "$verabschiedung $name";