Từ khóa sao chép PHP
Thí dụ
Tạo bản sao của một đối tượng:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
Định nghĩa và Cách sử dụng
Từ clone
khóa được sử dụng để tạo bản sao của một đối tượng.
Nếu bất kỳ thuộc tính nào là tham chiếu đến một biến hoặc đối tượng khác, thì chỉ tham chiếu đó được sao chép. Các đối tượng luôn được chuyển qua tham chiếu, vì vậy nếu đối tượng gốc có một đối tượng khác trong thuộc tính của nó, bản sao sẽ trỏ đến cùng một đối tượng. Hành vi này có thể được thay đổi bằng cách tạo một __clone()
phương thức trong lớp.
Các trang liên quan
Đọc thêm về các lớp trong Hướng dẫn về Lớp và Đối tượng PHP của chúng tôi .
Các ví dụ khác
Thí dụ
Tạo bản sao của một đối tượng có tham chiếu:
<?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);
?>
Thí dụ
Sử dụng một __clone()
phương pháp để ngắt các tham chiếu trong một đối tượng được sao chép:
<?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);
?>
❮ Từ khóa PHP