Hab mal ne Frage. Was bedeutet !== im folgenden Ausdruck?
while (false !== ($dirfile = readdir ($handle)))
Das ist wieder etwas schreckliches, was nur in PHP vorkommen kann. Sönke hat das sehr genau erklärt. Diese Zeile springt den normaldenkenden Menschen natürlich sofort an und man fragt sich, warum das nicht equivalent zu
while( $dirfile = readdir($handle) )
ist. Das legt die konzeptionellen Schwächen von PHP offen und widerstrebt jeder bequemen Lesbarkeit des Codes. Ich persönlich finde soetwas grauenhaft.
=== und !=== überprüfen also zunächst Typgleichheit, wodurch (wie gesagt wurde) ungewollte Typkonvertierung vermieden wird. (Heisst nämliche eine Datei "0", würde meine Codezeile das als Ende des Verzeichnisses interpretieren.)
Aber damit die Verwirrung durch diese Überladenheit(warum kann das nicht via isset passieren, wie es in Perl mit defined sehr gut geht?) noch nicht beendet ist, beschreibt das PHP manual den '===' Operator als Prüfung auf Identität (http://php4.globe.de/manual/en/language.operators.comparison.php), was natürlich nicht stimmt, denn $a und $b sind nicht "identisch", das wären sie, wenn $a = & $b...
Abr lass dich davon nicht verwirren. So ist es und vermutlich wird PHP irgendwann auch solche Kinderkrankheiten ablegen.