Php/keyword clone

来自菜鸟教程
跳转至:导航、​搜索

PHP克隆关键字

Keywords 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);

?>

Keywords PHP关键字