Paso de variables por Referencia
Podemos pasar variables a una función por referencia, para que ésta pueda modificar sus argumentos. La sintáxis es la siguiente :
function foo (&$var)
{
$var++;
}
$a=5;
foo ($a);
// $a será 6 aqui
La lista siguiente indica que puede ser pasado por referencia:
- Variables, por ejemplo foo($a)
- Operador New, por ejemplo foo(new foobar())
-
Referencias, devueltas por una función:
function &bar()
{
$a = 5;
return $a;
}
foo(bar());
Cualquier otro tipo de expresión no deberÃa pasarse por referencia, ya que el resultado serÃa indefinido. Los ejemplos de paso por referencia siguientes son inválidos:
function bar() // Notar que falta &
{
$a = 5;
return $a;
}
foo(bar());
foo($a = 5) // Expresión, no variable
foo(5) // Constante, no variable