Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP echte Kopien von Objekten erstellen?
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;
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;
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!