【PHP】オブジェクトの値渡し

忘れててハマったのでメモ。

他の言語だと関数の引数に指定した場合に参照渡しになるけど、
PHPは普通の代入でも参照渡しになってしまう。
まあ、この「参照渡し」という表現も厳密には違うらしいけど・・・。
http://www.php.net/manual/ja/language.oop5.references.php

値渡しにするには clone() を使えばOK。

<?php
$obj1 = $obj; //参照渡し
$obj2 = clone $obj; //値渡し