## リファレンスが行わないこと

これまでに説明したように、リファレンスはポインタではありません。このため、 次の例は期待通りに動作しません。

    <?php
    function foo(&$var)
    {
        $var =& $GLOBALS["baz"];
    }

    foo($bar);

ここでの動作としては、関数 foo の $var はコール側の $bar と関連付けられますが、$GLOBALS["baz"] に再結合されるといったものになります。 コール側のスコープにある $bar を、 リファレンスを使って関数内の何かに結合することはできません。 なぜなら、$bar は関数 foo からは利用できないからです （この変数は $var として表されていますが、 $var はその変数の内容のみを有しており、 コール側の シンボルテーブル で名前と変数を結合したものではありません）。 関数内で指定した変数を参照するには、リファレンス返し が使用可能です。

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open