Hello,
Nicht Array, Hashtable. Das ist ein Unterschied.
PHP hat weder Arrays noch Hashtables, auch wenn die ihre verketteten mehrdimenssionelen Listen "Arrays" nennen. Es sind Baumstrukturen. Insofern ist die Indizierung tatsäächlich nonsens, da immer die Kette durchlaufen werden muss. Allerdings muss bei vielen Skalaren auch ggf. jedesmal die gesamte Variablentabelle (bis zum treffer) durchlaufen werden.
Du hast ja gesehen, ebi 100.000 Schleifendurchläufen, die etwa jeweils 10 Arrayzugriffen entsprechen, also 1.000.000 Zugriffen, macht das eine Differenz von ca. 0,8Sekunden.
Entspricht also tatsächlich 0,8mySec (ich krieg das 'Mü' hier nicht rein)
Habe ich nicht -- sind wahrscheinlich vollkommen irrelevant kleine Werte. Aber ich bin immer an den /theoretisch/ optimalen Methoden interessiert.
Ob Einzelvariablen nun optimaler sind, ist auch noch fraglich.
Da "Arrays" in PHP keine geschlossenen Speicherbereiche sind, ist natürlich der Zeiotgewinn beim Kopieren auch dahin. Ob man nun die Einzelvariablen zusammentragen muss, oder erst die Einsprungreferenz in die Kette finden muss, um die dann abzulaufen... da wird das "Array" wohl auch verlieren. Muss ich Dir ja leider recht geben.
Aber aufgeräumter ist so ein Script mit Arrays schon. Und das ist für mich "optimale Methode"
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau