phpbar.de logo

Mailinglisten-Archive

AW: [php] call by reference - performance

AW: [php] call by reference - performance

Jochen Metzger php_(at)_phpcenter.de
Tue, 11 Dec 2001 20:13:55 +0100


> -----Ursprüngliche Nachricht-----
> Von: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]Im Auftrag
> von Mario Aeby
> Gesendet am: Dienstag, 11. Dezember 2001 19:57
> An: php_(at)_phpcenter.de
> Betreff: RE: [php] call by reference - performance
>
> hi,
>
> wohl wieder mal zeit, selber wieder dazuzulernen:
>
> > gibt es eine gute Einführung mit Beispielen zu
> > "call by reference".
>
> ehm... was ist denn das?
>
also:

call-by-reference bedeutet:

Mit einer Parameterliste kann man Informationen an eine Funktion übergeben.
PHP unterstützt die Weitergabe von Parametern als Werte (call-by-value) und
als Verweise (call-by-reference). Standardmäßig werden einer Funktion Werte
(Kopien) der Parameter übergeben.

d.h. standardmäßig wird eine Kopie des Wertes hergestellt und an die
function übergeben -> existiert also zweimal -> Overhead....

z.B. function peter($foo)
	        {
              print "Nein/ja , ich bin $foo";
              }

bei auruf:
$name="hans";
peter($name);

Bei peter($name) wird eine Kopie der Variable $name angelegt und an die
function übergeben.

Anders bei der Referenz
z.B. peter(&$name)

hier wird nur eine Referenz (ein Verweis) auf die Variable angelegt, d.h.
die Variable wird nicht kopiert, sondern es wird der function nur übergeben,
wo im Speicher sie die Variable finden kann.

Das spart Speicher und kann (glaube ich zumindest) auch zugunsten der
Performance gehen.

So weit so gut

Jochen Metzger


php::bar PHP Wiki   -   Listenarchive