把对象当参数传递给方法,在方法里改过对象后,影响到外面的对象 因为对象是引用传递过去的
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;
注意:序列化对象相当于深复制对象。