ホームページ >バックエンド開発 >PHPチュートリアル >PHPクローニングの実装方法の紹介(コード例)

PHPクローニングの実装方法の紹介(コード例)

不言
不言転載
2019-02-20 11:42:022407ブラウズ

この記事では、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";


?>

実行結果は次のとおりです

PHPクローニングの実装方法の紹介(コード例)

は依然として Java と一致しています。結論は次のとおりです

**値について 変数の場合、単純な代入はコピーです。
オブジェクト変数の場合、単純な代入は参照です。
オブジェクト変数の場合、割り当てには clone を使用します。オブジェクト変数内の値変数はコピーであり、オブジェクト変数内のオブジェクト変数は参照のままです。 **

以上がPHPクローニングの実装方法の紹介(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。