Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP echte Kopien von Objekten erstellen?

Wie kann ich in PHP echte Kopien von Objekten erstellen?

DDD
Freigeben: 2024-11-28 09:40:11
Original
200 Leute haben es durchsucht

How Can I Create True Copies of Objects in PHP?

Kopieren von Objekten in PHP: Übergabe per Referenz und Verwendung von „Klonen“ verstehen

Trotz der Annahme, dass Objekte in PHP per Referenz übergeben werden, erstellen Zuweisungsoperatoren keine Kopien . Dieses Verhalten wird im folgenden Beispielcode demonstriert:

class A {
    public $b;
}

function set_b($obj) { $obj->b = "after"; }

$a = new A();
$a->b = "before";
$c = $a;

set_b($a);

print $a->b;
print $c->b;
Nach dem Login kopieren

In diesem Fall geben beide Druckanweisungen „after“ aus, was darauf hinweist, dass das Objekt von der Funktion set_b() geändert wurde, obwohl es als übergeben wurde Argument.

Um eine Kopie eines Objekts in PHP zu erstellen, können Sie den in PHP 5 eingeführten Klonoperator verwenden:

$objectB = clone $objectA;
Nach dem Login kopieren

Diese Operation erstellt ein neues Objekt das ist unabhängig vom ursprünglichen Objekt. Alle an einem Objekt vorgenommenen Änderungen wirken sich nicht auf das andere aus.

Es ist wichtig zu beachten, dass in PHP nur Objekte als Referenz übergeben werden. Variablen anderer Typen, beispielsweise Arrays, Zeichenfolgen und Ganzzahlen, werden als Wert übergeben. Das bedeutet, dass durch die Zuweisung dieser Variablen zu anderen Variablen eine neue Instanz der Variablen erstellt wird und kein Verweis auf die ursprüngliche Variable.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP echte Kopien von Objekten erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage