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

# リファレンス渡し

リファレンスにより関数に変数を渡すことが可能です。この場合、関数内 でその引数を修正可能になります。構文は次のようになります。

`<?php function foo (&$var) { $var++; } $a=5; foo ($a); // $a はここでは 6 です ?>`

関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。

次のものはリファレンスで渡すことが可能です。

- 変数、すなわち、`foo($a)`

- new 命令、すなわち、`foo(new foobar())`

- 関数から返されるリファレンスは、次のようになります。

  `<?php function &bar() { $a = 5; return $a; } foo(bar()); ?>`

  リファレンスによる返 り値 に関する説明も参照下さい。

他の式は、結果が未定義となるため、リファレンスで渡すべきではありま せん。例えば、リファレンスで渡す次の例は、無効です。

`<?php function bar() // & がないことに注意 { $a = 5; return $a; } foo(bar()); foo($a = 5) // 式、変数ではない foo(5) // 定数、変数ではない ?>`

以上の説明は、PHP 4.0.4 以降用です。

前のページ | ホーム | 次のページ
リファレンスが行わないことは? | 上に戻る | リファレンスによる返り値