Horror Code

Kürzlich von einem Kollegen erhalten – ich verstehe immer noch nicht, was es bedeuten soll:
PHP:
while (false !== ($elemente = readdir($gallerie)))
 
moin


@SilentWarrior
Es wird der von readdir zurückgegebene und in "elemente" gespeicherte Wert überprüft und zwar ob er nicht unwahr ist.


mfg
umbrasaxum
 
Es wird der von readdir zurückgegebene und in "elemente" gespeicherte Wert überprüft und zwar ob er nicht unwahr ist.
Ist mir klar. War nicht so gemeint, dass ich den Code an sich nicht verstehe, sondern, dass ich nicht kapiere, warum er da noch ein false !== vorne rangepflastert hat.
 
Hmm, Mist, ich hab grad vor ein paar Tagen meine ersten PHP-Auswuechse geloescht. Bin zwar nicht sicher, aber da haette durchaus was dabei sein koennen. Auf jeden Fall war es absolut entgegen allem was ich mir in der Zwischenzeit angewoehnt habe.
Inklusive grober Missachtung von register_globals und SafeMode. ;)

Naja, ich hab irgendwo noch aeltere Codes rumfliegen, z.B. QBasic aus den fruehen 90er Jahren.
Vielleicht ist da ja was schaurig schoenes dabei. :)
 
SilentWarrior hat gesagt.:
Ist mir klar. War nicht so gemeint, dass ich den Code an sich nicht verstehe, sondern, dass ich nicht kapiere, warum er da noch ein false !== vorne rangepflastert hat.
Das ist ein "typsicherer" Vergleich, für PHP eigentlich ein Paradoxon.
Es wird geprüft, ob der Rückgabewert ein Boolean mit dem Inhalt "false" ist. Der Rückgabewert der Funktion könnte auch der Integerwert 0 oder der String "0" oder einige weitere Varianten sein, die bei einer boolschen Prüfung als false angesehen werden, aber in diesem Fall nicht als false gewertet werden sollen.

fanste hat gesagt.:
Ist eigentlich doppeltgemoppelt. Kann man, da bin ich mir sehr sicher, weglassen.
Kann man nicht, siehe auch die Doku zu [phpf]readdir[/phpf].

Gruß hpvw

EDIT: Mein vermutlich schlimmster Code war ein ca. 60 Zeilen langer While-Schleifen-Kopf ohne Körper in Java. Die Schleife hat aus zwei Listen mit Zeitintervallen die als nächstes folgenden Intervalle zusammengefügt, die sich zeitlich überschneiden.
 
Zuletzt bearbeitet:
In meinem eMail-Scanner (gebastelt C) hab ich etwas interessanten Code verbaut, den moechte ich Euch einfach mal praesentieren.

Code:
strncpy(part1,data,strlen(data)-strlen(strstr(strstr(data,"Subject:"),"\n")+1));
 

Neue Beiträge

Zurück