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

时间:2024-08-09 19:35:08

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

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.****.net/ohmygirl/article/details/7778125