dedlfix: neue Datei erstellen

Beitrag lesen

Tach!

Andererseits stammt der Wert aus dem Aufruf von mysql_query(), das nicht in jedem Fall ein boolsches Resultat liefert (in diesem Fall schon, wegen des INSERT-Statements). Wenn du also schon Wert darauf legst, wirklich die boolschen Werte true oder false abzuprüfen, solltest du einen typsicheren Vergleich notieren (also mit dem Operator ===).

Ja, aber nicht um jeden Preis und auch nicht aus Prinzip, nur um nicht nachdenken/-lesen zu müssen. Typsicher muss der Vergleich nur dann werden, wenn Verwechslungen auftreten können, also zum Beispiel wenn 0 und false unterschieden werden müssen. mysql_query() liefert hingegen false nur im Fehlerfall, und im Gutfall immer einen eindeutig nicht mit false verwechselbaren Wert. Anders läge der Fall bei PDO::exec(), das die Anzahl der betroffenen Datensätze zurückgibt. Dabei ist 0 und das Fehlerfall-false verwechselbar. Üblicherweise steht im PHP-Handbuch in solchen Fällen eine auffällige Warnung.

Sinnlose typsichere Vergleiche bremsen (mich) beim Code-Lesen, weil dann die Frage aufkommt, warum hier typsicher vergleichen werden muss, welche zweideutigen Werte erwartet der Autor denn hier?

if ($variable === 'foo')

Nur ein String mit dem Inhalt foo ist gleich dem Stringliteral 'foo'. Es gibt keinen anderen Wert eines anderen Typs, der diese Bedingung erfüllen kann. Es wäre hier also eine komplett sinnlose Verwendung eines typsicheren Vergleichs.

dedlfix.