Mailinglisten-Archive |
Hi, On Friday 18 June 2004 12:16, Mathias Gloss wrote: [...] > oder gar ein Umwegkonstrukt wie > $lang = $aWerte[0] > .... > echo $lang; > > letzteres braucht auch noch den Doppelten Speicher. Nein, tut es nicht. Die interne Darstellung der Variablen wird erst dann kopiert wenn eine der Variablen, die darauf zeigt, verändert wird. So lange auf beiden (bzw. allen) Kopien nur gelesen wird zeigen die auf das gleiche interne Konstrukt. Dazu gab' es auchletztensein Posting[1] auf der PHP-Internals Liste, in dem dieser Mechanismus etwas erläutert wurde. Und bei häufigen Zugriffen kann es sich lohnen den Wert aus dem Array rauszunehmen, da Array-Zugriffe langsam sind - allerdings lohnen sich solche "Optimierungen" wohl selten, da der Flaschenhals meist durch die Datenbank oder ähnliches gebildet wird. Abgesehen davon: $lang ist deutlich weniger Tipparbeit (insbesondere bei IDE mit Syntaxvervollständigung) als $array['lang'] ;-) Somit bleibt es im wesentlichen eine Frage der Vorlieben und was einem selber gefällt ;-) johannes [1] http://news.php.net/article.php?group=php.internals&article=10349
php::bar PHP Wiki - Listenarchive