Hallo T-Rex,
beim [] bist Du auf eine böse PHP Falle gelaufen. Das Handbuch schreibt:
Note that the maximum integer key used for this need not currently exist in the array. It need only have existed in the array at some time since the last time the array was re-indexed.
D.h. die erste Zuweisung an $arr[] erzeugt Index 0, und danach ist der maximum integer key für dieses Array 0. Die zweite Zuweisung sieht 0, addiert 1 drauf ''und weist an Index 1 zu. Danach ist der maximum integer key 1, und das dritte $arr[] weist an Index 2 zu. Total egal, ob die Indexe darunter wieder entfernt wurden oder nicht. Es ist viel zu aufwändig, nach jedem Unset den maximum integer key neu zu bestimmen, dafür müsste PHP einmal durch alle Keys laufen.
Wieso das Speichern in einem Objekt weniger Speicherplatz benötigt ist mir ein Rätsel.
Mir auch. Vor allem, weil Du diese Klasse überhaupt nicht verwendest 😉. Wenn ich das nachbaue, neue cTestObjekte ins Array lege und für jedes setMd5(md5($iLoop)) aufrufe, braucht die Klassenversion ca 63% mehr Speicher.
Rolf
sumpsi - posui - obstruxi