Mailinglisten-Archive |
Yannik Hampe wrote: > > Hannes H. wrote: >> Schönn Sonntag, allerseits! > Hallo Hannes, >> Ich möchte die Gelegenheit nutzen und ein Thema im Zusammenhang mit >> Arrays anbringen, dass mich schon länger beschäftigt: >> >> Für viele Aufgaben, die die Behandlung von Array betrifft, gibt es in >> PHP zwei Wege: >> >> a) die spezielle Array-Funktion >> > z.B. array_push($array, $var); >> b) die "literale" Angabe >> > z.B. $array[] = $var >> >> Welche davon ist die bessere Wahl? Gibt es überhaupt intern einen >> Unterschied? > > ja, es gibt einen unterschied: a) ist die Verwendung eines > Sprachelements und b) ist die Verwendung einer Funktion. a) ist ca. > doppelt so schnell wie b). > (6ms vs 13ms bei 10000x[] vs 10000x array_push auf meinem Athlon 64 > 3700+, 2GB DDR2 Win2k php 5.2). Ergänzung: In der PHP-Manual steht: Note: If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function. Dies würde bedeuten, dass, wenn man sehr viele Elemente aufmal an einen Array hängen will dies schneller ist. Dies kann ich aber nicht bestätigen... [] hat bei mir gegenüber array_push einen konstanten Vorsprung von ca. 5ms. Egal wieviele Elemente ich anfüge. > >> Und: Ist es ein Vorteil, wenn man eine Array-Variable mit >> $foo = array(); als array initialisiert, bevor man sie so verwendet? > > Warning: array_push() [function.array-push]: First argument should be an > array in D:\Proggen\xampp\htdocs\test.php on line 3 > > Ja. Du solltest deine arrays schon vorher initialisieren mit array(). >> Liebe Grüße aus Wien, >> Hannes Halenka > > Yannik Yannik
php::bar PHP Wiki - Listenarchive