意味
変数やオブジェクトなどを参照渡しする。
# 下記はどちらも同じ挙動になります $result =& $value; $result = &$value;
php7では利用不可
new
文の結果を参照渡しで変数に代入することができなくなりました。 by reference:
蛇足
古いソースで
$a =& new classC();
みたいなことしてたけど意味あるのか?
いろんな場所からインスタンス化されて、プロパティが変化しても同じ値を参照できるということかな…
でも上記のqiitaだと
オブジェクトは元々参照型なので、「&」をつけなくても参照されます。
って書いてあるけど、、、php7の話であってphp5以前だとそうではないのかな…
追記
はい遺物だと、すべてのオブジェクトは、PHP 5で参照によって渡されます– RageZ 25 10月。11
php5ではすでに参照型。php4ではそうではないみたい。
PHP5より前は、PHPのクラスからオブジェクトを作成すると、そのオブジェクトは値によって他の変数に渡されていました。他のほとんどのオブジェクト指向(Java、C#など)言語で標準となっているように、オブジェクトは参照ではありませんでした。
とうことはphp7化する際には「&」を外すだけでいいな。
スッキリ。
コメント