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

不言
リリース: 2023-04-05 10:46:02
転載
2344 人が閲覧しました

この記事では、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート