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 回答