Effizientes Zusammenführen von PHP-Objekten
Bei der Arbeit mit PHP5-Objekten, die keine Vererbungsbeziehungen aufweisen, kann das Zusammenführen ihrer Inhalte eine Herausforderung sein. Herkömmliche auf Unterklassen basierende Lösungen sind in diesem Szenario nicht anwendbar.
Problemstellung
Berücksichtigen Sie die folgenden Objekte:
$objectA->a; $objectA->b; $objectB->c; $objectB->d;
Das Ziel besteht darin, zu erhalten ein drittes Objekt, $objectC, das alle Eigenschaften von $objectA und enthält $objectB.
$objectC->a; $objectC->b; $objectC->c; $objectC->d;
Lösung
Die effizienteste Methode zum Zusammenführen von Objekten besteht darin, sie mit (array) in Arrays umzuwandeln und sie dann mit array_merge() zusammenzuführen . Das zusammengeführte Array kann dann mithilfe von (object) wieder in ein Objekt umgewandelt werden:
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
Diese Technik funktioniert effektiv, auch wenn die Objekte Methoden haben, wie in PHP 5.3 und 5.6 getestet.
Bemerkungen
Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Objekte ohne Vererbung effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!