Você pode passar variáveis para funções por referência, então a função poderá modificar seus argumentos. A sintaxe é a seguinte:
<?php
function foo (&$var)
{
$var++;
}
$a=5;
foo ($a);
// $a é 6 aqui
?>
As coisas a seguir podem ser passadas por referência:
Outra referência, retornada de uma função. Exemplo:
<?php
function &bar()
{
$a = 5;
return $a;
}
foo(bar());
?>
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:
<?php
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
?>