& vor Funktionsname

StefanR

Erfahrenes Mitglied
Kann mir mal einer erklären, was das für einen Sinn macht oder wozu das gut sein sollte, ein & vor eine Funktion zu setzen? Beispiel;:

PHP:
function &functionname() {}

Hab das schon in einigen Klassen gesehen.

Gruß
 
Bei Funktionen hab ich es noch nicht gesehen. Aber bei Variablen wird es genutzt um eine Referenz auf eine Variable an eine Funktion zu uebergeben.

Normalerweise funktioniert ja eine Funktion so:
PHP:
function pluseins($zahl)
{
 $zahl++;
 return $zahl;
}

$x=4;
$y=pluseins($x);
$y ist jetzt 5, $x weiterhin 4.

Bei einer Referenz sieht es aber anders aus:
PHP:
function pluseins(&$zahl)
{
 $zahl++;
}

$x=4;
pluseins($x);
Die Funktion pluseins() hat nun keinen Rueckgabewert sondern manipuliert direkt die ihr uebergebene Variable.
Nach der Ausfuehrung von pluseins($x) ist $x also 5, und nicht mehr 4.
 
Zurück