PHP深层对​​象复制/克隆

时间:2012-07-14 20:33:27

标签: php

PHP执行深度对象复制/克隆的最佳方式是什么?

我找到了一些使用序列化的例子,我认为这些例子会遇到一些问题。

1 个答案:

答案 0 :(得分:7)

如果您拥有对课程的完全访问权限,则可以在所有课程中实施__clone(),然后使用clone关键字。否则,clone关键字将只创建最顶层对象的浅表副本,而此对象中的潜在引用将继续指向其原始目标。 __clone()方法还为您提供了更多控制,但如果您不明确处理它们,可能会创建带有循环引用的无限循环。

序列化技术通常有效,不会因循环引用而死,但在内存和CPU方面更为昂贵。