PHP マニュアル
前のページ | 第 15 章 リファレンスの説明 | 次のページ

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

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

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

ここでの動作としては、関数`foo`の `$var`はコール側の`$bar` と結合されますが、`$GLOBALS["baz"]` に再結合されるといったものになります。`$bar` は関数`foo`で利用できないため、 リファレンス以外にはコール側の変数スコープにある `$bar`を何かに結合する手段はありません。 (この変数は、`$var`として表されていますが、 `$var`はその変数の内容のみを有しており、 コール側のシンボルテーブルで名前と変数を結合したものではありません。)

前のページ | ホーム | 次のページ
リファレンスが行うことは何ですか? | 上に戻る | リファレンス渡し