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á 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:

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
Estos requerimientos son para PHP 4.0.4 y superior.


Explicando las Referencias
PHP Manual