脚本宝典收集整理的这篇文章主要介绍了php – 对象序列化__sleep,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP class Foo { public $bar = 'bar'; public $baz = 'baz'; public function __sleep() { return array('bar'); } } $obj = new Foo(); $serialized = serialize($obj); $unserialized = unserialize($serialized); var_dump($unserialized); ?>
它只会序列化对象和属性$bar?像这样:
object(Foo)[2] public 'bar' => string 'bar' (length=3)
但它返回:
object(Foo)[2] public 'bar' => string 'bar' (length=3) public 'baz' => string 'baz' (length=3)
我解释错了吗?或者我做错了什么?
class Foo { public $bar; public $baz; public function __sleep() { return array('bar'); } } $obj = new Foo(); $obj->bar = 'bar'; $obj->baz = 'baz'; $serialized = serialize($obj); $unserialized = unserialize($serialized); VAR_dump($unserialized);
编辑:或者,您可以vardump($serialized)并看到其中没有baz.
以上是脚本宝典为你收集整理的php – 对象序列化__sleep全部内容,希望文章能够帮你解决php – 对象序列化__sleep所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。