phpの参照渡しについて

・phpのオブジェクトはデフォルトでは参照渡しとなる
http://php.net/manual/ja/language.oop5.references.php

・もうひとつ。関数の戻り値の参照渡しについて。

<?php
class HelloWorld {
    var $value = "default";
    function &getValue() {
        return $this->value;
    }
}

$helloWorld = new HelloWorld();
$v =& $helloWorld->getValue();
$v = "HelloWorld";
print $helloWorld->value;

これで「HelloWorld」と出力される。関数「&getValue」の「&」とメソッド実行の戻り値「=&$helloWorld->getValue();」の「&」のどちらが抜けても参照渡しにはならない。その場合は値渡しとなり「default」と出力される。
http://d.hatena.ne.jp/cloned/20060510

・foreachの参照渡しについて
http://php.net/manual/ja/control-structures.foreach.php

・まとめ
http://jun3001.com/?p=92

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です