引数の参照渡し
![]()
通常、関数の引数は値で渡しますが、リファレンスを渡すこともできます。リファレンスを渡すには、関数を定義する際に仮引数にアンパサンド「&」をつけます。
通常の場合は、引数として渡された値を関数内部でどのように変更しても、関数の外側にある変数の値は変わりません。(値渡し)
一方、リファレンスで引数を渡すと、関数の外側で定義した変数の値を変化させることができます。(参照渡し)
なお、PHP4では次のように関数の引数にリファレンスを指定して参照渡しを行うこともできました。
しかし、この方法は今後廃止される方向で関数を定義する時に仮引数に「&」をつける方法が推奨されています。
PHP5では、php.iniで「allow_call_time_pass_reference = On」としないかぎり、関数の引数にリファレンスを指定することはできません。