php的序列化和反序列化
序列化__sleep的时候必要返回一个数组,一定返回对象的属性,否则报错,键值的key不重要,bbbbbbbbb根本不重要,主要是值是不是对象的属性的名字对上,也就是aa就不正确,a正确
这里可以看见如果sleep里面返回的有对应属性的名字a那么后续的操作也就是$de->a='123';,最后序列化的结果会被保存下来
如果没有对应属性的名字,比如这里b没有,那么后续的操作$de->a='123';执行的结果那不会保存下来,序列化的仍是默认的
//$de->b='123';
string(34) "O:4:"demo":1:{s:1:"a";s:4:"abcd";}" object(demo)#2 (2) { ["a"]=> string(4) "abcd" ["b"]=> string(5) "abscd" }
//$de->a='123';
string(33) "O:4:"demo":1:{s:1:"a";s:3:"123";}" object(demo)#2 (2) { ["a"]=> string(3) "123" ["b"]=> string(5) "abscd" }