Vale, creo ya lo he pillado
Código PHP:
$var = 'foo';
function foo(&var){
$b = 'baz';
$var =& $b; // si hacemos return $var la función devolvería baz
}
foo($var);
echo $var; // en cambio, fuera de la función $var sigue siendo foo
Osea...
Las referencias dentro de la función, aunque los argumentos estén pasados por referencia, sólo afectan dentro de la función
No le veo mucha lógica (dentro de la función $var cambia, de igual modo que si en la función ponemos $a = $b;), pero voy a tener que creérmelo!!