Passagem por referência

Você pode passar variáveis para funções por referência , então a função poderá modificar seus argumentos . A sintaxe é a seguinte :

 
function

 
foo

 
(

 
$var

 
)

 
{

 
$var++

 
;

 
}

 
$a=5

 
;

 
foo

 
($a)

 
;

 
/

 
/

 
$a

 
é

 
6

 
aqui



Note que não há o sinal de referência na chamada da função, somente na definição da função. A marcação na definição da função sozinha é suficiente para configurar corretamente a passagem de argumentos por referência.

As coisas a seguir podem ser passadas por referência :



Nenhuma outra expressão poderá ser passada por referência , com resultados indefinidos . Por exemplo , o exemplo seguinte de passagem por referência é inválido :

 
function

 
bar(

 
)

 
/

 
/

 
Note

 
a

 
falta

 
do

 
{

 
$a

 
=

 
5

 
;

 
return

 
$a

 
;

 
}

 
foo(bar())

 
;

 
foo($a

 
=

 
5

 
)

 
/

 
/

 
Expressão

 
,

 
não

 
é

 
variável

 
foo(5

 
)

 
/

 
/

 
Constante

 
,

 
não

 
é

 
variável



Essas limitações valem para o PHP 4.0.4 em diante.