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