php对象当参数传递 && php深复制和浅复制

把对象当参数传递给方法,在方法里改过对象后,影响到外面的对象  因为对象是引用传递过去的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Book {
    public $name;
    
    public function __construct($name)
    {
        $this->name = (string)$name;
    }
    public function getName() {
        return $this->name;
    }
}
$oldObj = new Book(‘hongjun‘);
$serializeOldObj = serialize($oldObj);
 
$newObj = $oldObj;
$newObj->name = ‘pingguo‘;
echo $oldObj->name;    //pingguo
$oldSerOjb = unserialize($serializeOldObj);  
echo $oldSerOjb->name;    //hongjun
exit;

 注意:序列化对象相当于深复制对象。

php深复制和浅复制    

http://blog.csdn.net/ohmygirl/article/details/7778125

php对象当参数传递 && php深复制和浅复制,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。