phpbar.de logo

Mailinglisten-Archive

[php] Array internen Zeiger setzen

[php] Array internen Zeiger setzen

Niels Jäckel niels.jaeckel at silice.de
Mon Sep 17 12:02:46 CEST 2007


Hallo Sebastian,

>> Du arbeitest unbewusst auf zwei verschiedenen Arrays [1]. foreach() 
>> arbeitet immer auf einer KOPIE des Arrays. Außerdem wird der Arrayzeiger 
>> immer zurückgesetzt vorher. D.h. dein end() ist unwirksam.
> 
> nur bei der Kopie, das end() ist also wirksam

danke für den Hinweis! Mit den letzten Details kenne ich mich dann auch 
nicht aus, weil ich dieses next, prev, end, reset, each und 
current-Gerassel noch nie wirklich benutzt hab. Entweder man kann direkt 
drauf zugreifen oder man nimmt foreach().

Am Besten ist jedoch die Verwendung von Iteratoren - da ist das Konzept 
ordentlich gekapselt und per Objekt verfügbar. Die Iteratoren bilden 
zwar intern auch nur auf die oben genannten Funktionen ab, jedoch ist 
das zur Verfügung stehende Interface um Längen besser.


Grüße,
Niels

php::bar PHP Wiki   -   Listenarchive