Hi,
hier würde ich foreach() verwenden...
(was macht ihr hier? Auch noch den letzen halben Frame/Sekunde rausquetschen? ;-)
wenn es nach mir ginge schon ;)
Wozu?
Selbst wenn die Hardware schon so ausgereizt ist, das es merkbar wird, dann bringen besserer Algorithmus/Hardware trotzdem mehr.
Geschwindigkeitsoptimierung im Detail kostet immer mehr, als sie bringt. Ausnahmen bestätigen die Regel, klar, aber den schnellen Hack, weil noch kein Geld für eine dickere Maschine da ist zählt wohl kaum und der embeded Bereich hat eine ganz andere Problemstellung und vor allem Lösungen.
Eigentlich geht es mir beim Wechsel von for() zu foreach() selten wirklich um die Geschwindigkeit, sondern um die Vermeidung der erheblichen Fehlermöglichkeiten, die for() bei Anwendung auf PHP-"Arrays" mit sich bringt.
Mir ist die Geschwindigkeit da mehr im Vordergrund.
Warum? Sollte das Programm nicht erstmal funktionieren? Wenn dann noch Zeitist, kannst Du ja immer noch dran rumfeilen, aber die Zeit ist im Grunde nie da, die hast Du im Höchstfall bei privaten Projekten.
Allerdings ist das auch nur auf der Vermutung aufgebaut PHP liefert mit file() immer ein formschönes Datenfeld ab. Insofern ist Toms Überlegung extrasauberes coding, was ich nur als positiv bewerten kann, denn da bin ich doch oft sehr vorschnell.
Es gibt kein "extrasauberes" Coding, entweder ist das ordentlich oder schlampig. Du kannst es Dir erlauben schlampig zu werden, wenn Du _genau_ weißt, was Du tust. Dieses "genau" sollte aber vorzugsweise bis runter zu den Opcodes gehen.
so short
Christoph Zurnieden