hi,
Tach!
Ja, aber sinnlose Initialisierungen oder unnötige umständliche Schreibweisen (à la if ($foo == true)) bringen keinen Gewinn. Die hindern mitunter den Lesefluss, weil man da eine eventuelle Bewandnis dahinter sucht, die nicht wirklich vorhanden ist.
Naja, es fragt sich, was du da mit "==" bezwecken willst. Anders und u.U. "besser" wäre if ($foo === true).Das ist unter Umständen noch schlechter, weil ich mich dann an solchen Stellen aufhalte und frage, warum denn nun der Typ wichtig ist und nicht auch 0, array() oder Leerstrings die Bedingung erfüllen. Der typsichere Vergleich hat seinen Sinn bei strlen(), wo es einen Unterschied zwischen false und 0 gibt. Aber das nun aus Prinzip an jeder Stelle anzuwenden ist wenig sinnvoll.
Du schlössest damit schlicht die Möglichkeit aus, dass der Vergleich wahr ist, obwohl du das nicht wolltest oder erwartet hättest. Wieso macht es Sinn, alle u.g. Möglichkeiten mit einzuschließen, um die es eigentlich garnicht geht. Eine prinzipielle Fehlerquelle die unnötig ist.
<?php
class A {
}
$a = new A();
var_dump(true == $a);
$b = "abc";
var_dump(true == $b);
$c = 123;
var_dump(true == $c);
$d = "false";
var_dump(true == $d);
$e = array(1,"2","abc");
var_dump(true == $e);
alles boolean (true);
mfg
tami