Lo que las Referencias no son
Retorno por Referencia
Explicando las Referencias
PHP Manual

## 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&aacute; 6 aqui`

Notar que no hay signo de referencia en la llamada a la función - solo en la definición de la misma. Colocar el signo de referencia solo en la definición de la función alcanza para pasar correctamente el argumento por referencia.

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());`

  Se recomienda leer también la explicación sobre retorno por referencia.

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&oacute;n, no variable
foo(5) // Constante, no variable`

Estos requerimientos son para PHP 4.0.4 y superior.

Lo que las Referencias no son
Retorno por Referencia
Explicando las Referencias
PHP Manual