hi,
Tach!
if ($i % 15 == 0) {
Wenn dir zwischendrin dein $i umgeschrieben würde [...]... dann hast du ein Problem, bei dem dir dein === weder ein richtiges Ergebnis zaubert, noch dich informiert, dass da was kaputt ist. Es bringt also gar nichts in diesem Fall. Es ist einfach nur sinnlos, hier auf den exakten Typ zu prüfen.
Ja, das errinnert an Crockford und die Argumentationen im Bereich Javascript. Es liegt an dem einen Zeichen mehr. Du willst eigentlich nur prüfen, ob beide Werte 0 sind. Prüfst aber gleichzeitig (Performance) auch noch die 20 anderen Fälle, in denen diese Aussage wahr ist. Dadurch bist Du potentiell (nicht in jedem Fall) unscharf und fehleranfällig. Ich bleibe dabei, dass sich diese Diskussion auch was die "Emotionen" angeht, mit der Crockford-Javascript-JSLint-Diskussion im Wesentlichen deckt. Ich suche mal einen Vortrag von Crockford raus, wo es darum und auch zB. um das "fall-through" beim Switch geht. Da geht es auch um die Psychodynamik (Crockford war erst auch sicher, dass man mit einem switch keinen Fehler bauen könnte bzw. ihm ein Fallthrough nicht passiert). Keine Ahnung, ob das bei PHP in Bezug auf ein Switch ähnlich ist. Ich beziehe mich jetzt mal nur auf "==" vs. "===".
mfg
tami