これまでに説明したように、リファレンスはポインタではありません。このため、 次の例は期待通りに動作しません。
ここでの動作としては、関数
foo
の
$var
はコール側の
$bar
と関連付けられますが、
$GLOBALS["baz"]
に再結合されるといったものになります。
$bar
は関数
foo
で利用できないため、 リファレンス以外にはコール側の変数スコープにある
$bar
を何かに結合する手段はありません (この変数は
$var
として表されていますが、
$var
はその変数の内容のみを有しており、 コール側のシンボルテーブルで名前と変数を結合したものではありません)。 関数内で指定した変数を参照するには、
リファレンス返し
が使用可能です。