Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Implementierungsmethode des PHP-Klonens (Codebeispiel)

Einführung in die Implementierungsmethode des PHP-Klonens (Codebeispiel)

不言
不言nach vorne
2019-02-20 11:42:022372Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Implementierungsmethode des PHP-Klonens (Codebeispiele). Ich hoffe, dass er für Freunde hilfreich ist.

Vor einiger Zeit habe ich mich mit dem Klonen von Objekten in Java befasst. Ich hatte das Gefühl, dass mir das Klonen von Objekten in PHP nicht ganz klar war, also habe ich einen kleinen Test durchgeführt. Der Code lautet wie folgt:

<?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";


?>

Das Ergebnis der Ausführung ist wie in der Abbildung gezeigt

Einführung in die Implementierungsmethode des PHP-Klonens (Codebeispiel)

und stimmt immer noch mit Java überein. Die Schlussfolgerung lautet wie folgt folgt

** Für den Wert Bei Variablen ist die einfache Zuweisung Kopieren.
Bei Objektvariablen erfolgt die einfache Zuweisung per Referenz.
Verwenden Sie für Objektvariablen den Klon zur Zuweisung. Die Wertvariable in der Objektvariablen ist eine Kopie, und die Objektvariable in der Objektvariablen ist weiterhin eine Referenz. **

Das obige ist der detaillierte Inhalt vonEinführung in die Implementierungsmethode des PHP-Klonens (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen