TECH I.S.

PHP clone

❮ PHP キーワード

オブジェクトのコピーを作成します。

<?php class MyClass {   public $color;   public $amount; } $obj = new MyClass(); $obj->color = "red"; $obj->amount = 5; $copy = clone $obj; print_r($copy); ?>

自分で試してみる »


定義と使用法

cloneは、オブジェクトのコピーを作成するために使用されます。

プロパティのいずれかが別の変数またはオブジェクトへの参照であった場合、参照のみがコピーされます。オブジェクトは常に参照によって渡されるため、元のオブジェクトのプロパティに別のオブジェクトがある場合、コピーは同じオブジェクトを指します。この動作は、__clone()クラスのメソッドを作成することで変更できます。


関連ページ

classの詳細はこちら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); ?>

自分で試してみる »


❮ PHP キーワード


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細