Redundando un poco:
Código PHP:
$var = 'foo';
function foo($var){
$b = 'baz';
//le decimos a $var que apunte donde $b
$var =& $b;
//la funcion devolvera 'baz'
//$var desde dentro de la funcion no tiene valor propio,
//sino que solo APUNTA al valor de $b que es 'baz'
//mediate return logramos sacarla fuera de la funcion, por asi decir.
return $var;
//Habra entonces dos variables $var
//Una con valor propio
//Y otra apuntando hacia el mismo valor que $b 'baz'
//probamos modificar $var
$var = "Esto no modifica a \$var";
}
echo "Valor por referencia de \$var: ".foo($var);
echo "<br />";
echo "Valor propio de \$var: ".$var;
echo "<br />";