0

PHPで純粋な関数を実装したい

オブジェクトを参照ではなく値で渡すにはどうすればよいですか?

つまり、これは予想される出力です。

function change($obj) {
    $obj->set_value(2);
}

$obj = new Object();
$obj->set_value(1);
change($obj);
echo $obj->get_value(); // 1
4

1 に答える 1

3

ここで読む:

http://php.net/manual/en/language.oop5.cloning.php

ディープコピー別名が必要になるため、実際には値渡ししないでください。深いクローン、またはパラメーターに割り当てられた非常識な量..

本当にやりたいのであれば、答えは次のとおりです。最初にディープコピーを作成し、次にコピーへの参照を渡します。

于 2015-04-30T07:58:47.837 に答える