PHP克隆(深拷贝)

时间:2017-09-04 07:22:41

标签: php clone deep-copy php-5.6

我想创建一个我的对象的深层副本而不是浅层副本。如果我只是调用clone,我会收到由循环引用引起的内存不足异常。如何在我的魔法克隆方法中避免循环引用?

public function __clone() {
    foreach($this as $key => $val) {
        if (is_object($val) || is_array($val) ) {
            $this->{$key} = unserialize(serialize($val));
        }
    }
}

0 个答案:

没有答案