【发布时间】:2019-04-17 05:01:53
【问题描述】:
我的 PHP 代码在这里:
class test {
public $a = 'a';
public $b = 'b';
public $c = 'c';
}
$a = new test();
unset($a->a);
$b = serialize($a);
$c = unserialize($b);
var_dump($a, $b, $c);
为什么$c 包含属性a?
【问题讨论】:
-
unserialize()首先实例化一个新对象。因为你的属性有一个默认值,它会得到那个值,因为你unset()它,没有什么可以覆盖它。 -
@PraveenKumarPurushothaman 怎么是重复的?
-
@RobbyCornelissen 不是吗?
-
@PraveenKumarPurushothaman 是吗?
-
@RobbyCornelissen 在我看来是这样,但看你的评论,我觉得,它可能是......我应该重新打开它吗?
标签: php serialization