Php/keyword clone
来自菜鸟教程
PHP克隆关键字
例
创建对象的副本:
<?php class MyClass { public $color; public $amount; } $obj = new MyClass(); $obj->color = "red"; $obj->amount = 5; $copy = clone $obj; print_r($copy); ?>
定义和用法
The
clone
关键字用于创建对象的副本。
如果任何属性是对另一个变量或对象的引用,则仅复制该引用。对象始终通过引用传递,因此,如果原始对象在其属性中具有另一个对象,则副本将指向同一对象。可以通过创建一个
__clone()
类中的方法。
相关页面
在我们的网站上阅读有关课程的更多信息 PHP类和对象教程
.
更多例子
例
创建具有引用的对象的副本:
<?php class MyClass { public $amount; } // Create an object with a reference $value = 5; $obj = new MyClass(); $obj->amount = &$value; // Clone the object $copy = clone $obj; // Change the value in the original object $obj->amount = 6; // The copy is changed print_r($copy); ?>
例
用一个
__clone()
断开复制对象中引用的方法:
<?php class MyClass { public $amount; public function __clone() { $value = $this->amount; unset($this->amount); // Unset breaks references $this->amount = $value; } } // Create an object with a reference $value = 5; $obj = new MyClass(); $obj->amount = &$value; // Clone the object $copy = clone $obj; // Change the value in the original object $obj->amount = 6; // The copy is not changed print_r($copy); ?>