Wie bereits gesagt: Referenzen sind keine Zeiger. Das bedeutet, der folgende Code tut nicht, was man erwarten könnte:
<?php
function foo(&$var)
{
$var =& $GLOBALS["baz"];
}
foo($bar);
?>
Folgendes passiert: $var in foo wird zunächst an $bar aus der aufrufenden Instanz, dann aber an $GLOBALS["baz"] gebunden. Es gibt keine Möglichkeit unter Verwendung des Referenzmechanismus, um $bar im aufrufenden Geltungsbereich an etwas anderes zu binden, da $bar in der Funktion foo nicht verfügbar ist (es wird durch $var repräsentiert, aber $var nur Variableninhalt, aber keine Name-an-Wert-Bindung in der aufrufenden Symboltabelle hat). Man kann durch die Rückgabe von Referenzen die von der Funktion benutzten Variablen referenzieren.