Předávání referencí (odkazem)

Můžete předávat proměnnou do funkce pomocí odkazu , takže funkce může modifikovat její argumenty . Syntaxe je následující :

 
function

 
foo

 
(

 
$var

 
)

 
{

 
$var++

 
;

 
}

 
$a=5

 
;

 
foo

 
($a)

 
;

 
/

 
/

 
$a

 
je

 
teď

 
6



Všimněte si, že ve volání funkce není znak reference - pouze v její definici. Samotná definice funkce stačí na správné předávání argumentu odkazem.

Následující věci lze předávat referencí :



Žádné jiné výrazy nemohou být předávány odkazem , výsledek tohoto není definován . Například , následující ukázky předávání odkazem jsou neplatné :

 
function

 
bar(

 
)

 
/

 
/

 
Všimněte

 
si

 
chybějícího

 
{

 
$a

 
=

 
5

 
;

 
return

 
$a

 
;

 
}

 
foo(bar())

 
;

 
foo($a

 
=

 
5

 
)

 
/

 
/

 
Výraz

 
,

 
nikoli

 
proměnná

 
foo(5

 
)

 
/

 
/

 
Konstanta

 
,

 
nikoli

 
proměnná



Tyto požadavky platí pro PHP 4.0.4 a pozdější.