この記事では、PHP クローン作成の実装方法 (コード例) を紹介します。参考価値はあります。困っている方は参考にしてください。お役に立てれば幸いです。
少し前に、Java でのオブジェクトのクローン作成について調べました。 PHP でのオブジェクトのクローン作成についてよくわかっていないと感じたので、簡単なテストを行いました。コードは次のとおりです
<?php class A{ public $value = 1; } class B{ public $value = 1; public $a = null; public function __Construct(){ $this->a = new A(); } } $b = new B(); $d = 1; $e = $d; $e++; echo "写时复制\n"; echo $d."\n"; echo $e."\n"; echo "------------------------------------\n"; $c = $b; $c->a->value++; $c->value++; echo "对象中的对象变量\n"; echo $b->a->value."\n"; echo $c->a->value."\n"; echo "对象变量中的值变量\n"; echo $b->value."\n"; echo $c->value."\n"; echo "--------------------------------------\n"; $f = clone $b; $f->value++; $f->a->value++; echo "对象变量中的值变量\n"; echo $b->value."\n"; echo $f->value."\n"; echo "对象中的对象变量\n"; echo $b->a->value."\n"; echo $f->a->value."\n"; ?>
実行結果は次のとおりです
は依然として Java と一致しています。結論は次のとおりです
**値について 変数の場合、単純な代入はコピーです。
オブジェクト変数の場合、単純な代入は参照です。
オブジェクト変数の場合、割り当てには clone を使用します。オブジェクト変数内の値変数はコピーであり、オブジェクト変数内のオブジェクト変数は参照のままです。 **
以上がPHPクローニングの実装方法の紹介(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。