kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

function &関数名

function &関数名と定義することで
リファレンス(参照)を返す関数を定義できる
つまり、関数の返値を参照渡しとすることができる。

http://www.php.net/manual/ja/language.references.php


あるオブジェクトを操作する必要があるが、どのオブジェクトに対してその操作を行うかの選択が複雑な場合、

オブジェクトの選択を関数にまかせて、関数が選択したオブジェクトを操作するというプログラム構造にしようと思ったとき、

関数の返り値をオブジェクトのリファレンスにすると便利。


また、リファレンス構文を使わないと、関数の呼び出しごとにオブジェクトのコピーを作成することになります。メモリの無駄です。