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

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

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

你可能感兴趣的:(参数传递)