Klaus: Reihenfolge von assoziativen Arrays

Beitrag lesen

Hallo,
also assoziativen Arrays spricht man allgemein (d.h. datenstrukturtechnisch) keine Reihnfolge zu. Deswegen sollte man sich in PHP auch nicht auf die Reihnfolge verlassen.

Programmiert man selber ein assoziatives Array, verwendet man meistens eine Hashtable für die Realisierung. Dies ist eigentlich nichts weiteres als ein normales Array (mit numerischen Indizes) und die Schlüssel werden mittels Hashfunktion auf die numerischen Indizes abgebildet (eine Hashfunktion nimmt den Key (String) und macht daraus eine Zahl mit den unterschiedlichesten Operationen)

Gibt man diese Hashtable nun in einer Reihnfolge aus, so geht man normalerweise normal das Array durch. Da aber Schlüssel auf die unterschiedlichsten Indizes abgebildet werden (z.B. 'a' auf 5, 'b' auf 18, 'abc' auf 2 usw.) hat man weder eine Reihnfolge bzgl. der Keys (der Zeichenkette) noch der Reihnfolge des Einfügens.

In PHP kann es natürlich anders gelöst sein, dies hätte aber Geschwindigkeitsnachteile.

Grüße
Klaus