Weil strpos() gibt ja false zurück. wäre also deiner Meinung nach "unsauber" ??
Stimmt. strpos() gibt "false" zurück, wenn der Suchbegriff nicht im String enthalten ist. Andernfalls bekommt man die Startposition geliefert. Bei der Startposition fängt strpos() aber bei "0" an zu zählen.
Deshalb muss man hier expliziet auf "false" prüfen, da ein einfacher Vergleich auf "0", durch die automatische Typkonvertierung von PHP, auch zu "false" evaluieren würde.
wenn dann "!="
Eben nicht, weil da könntest du es dann auch weglassen, da bei "!=" (einfache Überprüfung) macht PHP aus "0" ein "false" was ja hier nicht gewünscht wird. Bei "!==" (expliziete Überprüfung auch auf Typ des Wertes) wird dann nur ein "false" als "false" anerkannt.