Zeiger in foreach

Auch wenn man schon einige Jahre mit PHP programmiert, stößt man immer wieder auf interessante Dinge - und damit meine ich nicht neue Funktionen wie die erweiterte OOP in PHP 5. Gerade eben ist mir aufgefallen, dass man in foreach-Schleifen den Parameter auch als ZeigerReferenz anlegen kann: foreach ($list as &$item). Wenn man jetzt $item veärndert, wird damit auch die entsprechende Variable in $list geändert. Bisher benutzte ich dazu immer foreach ($list as $key => $item) und änderte $list[$key]. Aber warum so umständlich wenn’s mit ZeigernReferenzen doch ganz einfach geht!

Comments

1
Forenblogger on March 11, 2006

Guter Tipp, wusste ich auch noch nicht, macht die Arbeit aber auf jeden Fall einfacher! Danke.

2
Alexander Repty on March 27, 2006

Dass PHP aber nicht über “Zeiger” verfügt, sondern lediglich über Referenzen ist Dir schon klar? :-)

3
Martin on March 27, 2006

Allerdings gibt es in PHP keine Zeiger, nur Referenzen :)

4
Konstantin on March 27, 2006

Ja. Aber es ist ja vom Prinzip her dasselbe.

5
Martin on March 29, 2006

Schicke <del>/<ins>-Styles hast du da :D Könnte man sich mal abschauen :)

6
Konstantin on August 9, 2006

Funktioniert übrigens nur in PHP 5.