PHP 按值传递对象
PHP pass objects by value
我想在 PHP
中实现一个纯函数
如何按值而不是按引用传递对象?
换句话说,这是预期的输出:
function change($obj) {
$obj->set_value(2);
}
$obj = new Object();
$obj->set_value(1);
change($obj);
echo $obj->get_value(); // 1
阅读此处:
http://php.net/manual/en/language.oop5.cloning.php
你真的不应该按值传递,因为这需要深度复制。深度克隆,或为参数分配的疯狂数量..
如果你真的想,答案是:
首先深拷贝,然后传递对副本的引用。
我想在 PHP
中实现一个纯函数如何按值而不是按引用传递对象?
换句话说,这是预期的输出:
function change($obj) {
$obj->set_value(2);
}
$obj = new Object();
$obj->set_value(1);
change($obj);
echo $obj->get_value(); // 1
阅读此处:
http://php.net/manual/en/language.oop5.cloning.php
你真的不应该按值传递,因为这需要深度复制。深度克隆,或为参数分配的疯狂数量..
如果你真的想,答案是: 首先深拷贝,然后传递对副本的引用。