phpbar.de logo

Mailinglisten-Archive

[php] Verwendung von list()

[php] Verwendung von list()

Johannes Schlueter schlueter at phpbar.de
Fre Jun 18 14:37:18 CEST 2004


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