So fusionieren Sie Objekte in PHP

So fusionieren Sie Objekte in PHP
Obwohl es keine integrierte Funktion gibt, gibt es verschiedene Möglichkeiten, Objekte in PHP zusammenzuführen. Beispielsweise kann ein neues Objekt erstellt werden, indem die Eigenschaften von zwei oder mehr Objekten mit einer Schleife hinzugefügt werden. Alternativ können die erforderlichen Objekte in Arrays umgewandelt werden, die durch Verwendung verschmolzen werden können Array_Merge () oder Array_merge_recursiv ()), und dann zu einem Objekt konvertiert.

In diesem Tutorial zeigen wir Ihnen, wie Sie die oben genannten Methoden verwenden, um Objekte in PHP zusammenzuführen.

Beispiel 1: Verschmelzen Sie Objekte mit einer für die Schleife zusammen

Um diesem Tutorial zu folgen, erstellen Sie eine PHP -Datei mit dem folgenden Skript. Hier, an Konto Klasse wird deklariert. Konto enthält ein Anzeige() Methode zum Drucken der zugewiesenen Objektwerte der Klasse. Der Brauch Merge_object () Die Funktion wird deklariert, um zwei Objekte der zu verschmelzen Konto Klasse mit einer für die Schleife. Zwei für Schleifen werden verwendet, um die Werte der Objekte zu verschmelzen und sie in einem anderen Objekt der zu speichern Konto Klasse. Der $ ACC_OBJ1 Das Objekt wird verwendet, um drei Eigenschaftswerte der zuzuweisen Konto Klasse und die $ ACC_OBJ2 Objekt wird verwendet, um zwei Eigenschaftswerte zuzuweisen. Diese Variablen werden als Argumente an die übergeben Merge_object () Funktion.

// Klasse definieren
Klassenkonto
öffentliche Funktion Display ($ Objekt)

Echo " Name: ".$ Objekt-> Name."
";
Echo " Email: ".$ Objekt-> E-Mail."
";
Echo " Konto Typ: ".$ Objekt-> ACC_TYPE."
";
Echo " Eröffnungsbilanz: ".$ object-> openning_balance."
";
Echo " Aktueller Gleichgewicht: ".$ object-> current_balance;


// Funktion zum Zusammenführen von Objekten definieren
Funktion merge_object ($ object1, $ object2)
// Erstellen Sie ein neues Objekt der Klasse
$ merge_object = new Account ();
// Die Werte des ersten Objekts einem neuen Objekt zuweisen
foreach ($ object1 as $ property => $ value)
$ merge_object-> $ property = $ value;

// Die Werte des zweiten Objekts in ein neues Objekt anhängen
foreach ($ object2 as $ property => $ value)
$ merge_object-> $ property = $ value;

Echo " Die Werte des zusammengeführten Objekts:

";
// Rufen Sie die Funktion auf, um die Werte des fusionierten Objekts zu drucken
$ merge_object-> display ($ merge_object);

// Erstellen Sie das erste Objekt und weisen Sie Eigenschaftswerte zu
$ ACC_OBJ1 = neuer Konto ();
$ ACC_OBJ1-> name = "Mahmudul ahsan";
$ ACC_OBJ1-> E-Mail = "[email protected] ";
$ ACC_OBJ1-> ACC_TYPE = "SAVING";
// Erstellen Sie das zweite Objekt und weisen Sie Eigenschaftswerte zu
$ ACC_OBJ2 = neuer Konto ();
$ ACC_OBJ2-> OPENNING_BALLE = 40000;
$ ACC_OBJ2-> current_balance = 50000;
// Rufen Sie die Funktion auf, um beide Objekte zusammenzuführen
Merge_object ($ ACC_OBJ1, $ ACC_OBJ2);
?>

Ausgang:

Die folgende Ausgabe wird erstellt, nachdem das obige Skript vom Webserver ausgeführt wurde. Die Ausgabe zeigt die Eigenschaftswerte der Variablen für zusammengeführte Objekte.

Beispiel 2: Objekte mit der Funktion array_merge () zusammenführen

Der Array_Merge () Funktion wird verwendet, um zwei oder mehr Arrays zusammenzuführen. Um diesem Beispiel zu folgen, erstellen Sie eine PHP -Datei mit dem folgenden Skript. Hier das Konto Die Klasse wird verwendet, um die Werte des fusionierten Objekts zu drucken. Die Objekte $ ACC_OBJ1 Und $ ACC_OBJ2 werden im Skript erstellt. Drei Eigenschaftswerte werden mit verwendet $ ACC_OBJ1 und zwei Eigenschaftswerte werden verwendet $ ACC_OBJ2. Diese beiden Objekte werden in zwei Arrays umgewandelt und als Argumente der Array_Merge () Funktion. Die Ausgabe der Array_Merge () Die Funktion wird in ein Objekt umgewandelt, um zu erhalten $ merge_object. Nächste, $ merge_object wird als Argument an die verabschiedet Anzeige() Methode der Konto Klasse.

// Klasse definieren
Klassenkonto
öffentliche Funktion Display ($ Objekt)

Echo " Name: ".$ Objekt-> Name."
";
Echo " Email: ".$ Objekt-> E-Mail."
";
Echo " Konto Typ: ".$ Objekt-> ACC_TYPE."
";
Echo " Eröffnungsbilanz: ".$ object-> openning_balance."
";
Echo " Aktueller Gleichgewicht: ".$ object-> current_balance;


// Erstellen Sie das erste Objekt und weisen Sie Eigenschaftswerte zu
$ ACC_OBJ1 = neuer Konto ();
$ ACC_OBJ1-> name = "ferzana rahman";
$ ACC_OBJ1-> E-Mail = "[email protected] ";
$ ACC_OBJ1-> ACC_TYPE = "Current";
// Erstellen Sie das zweite Objekt und weisen Sie Eigenschaftswerte zu
$ ACC_OBJ2 = neuer Konto ();
$ ACC_OBJ2-> OPENNING_BALLE = 500000;
$ ACC_OBJ2-> current_balance = 450000;
// Die Objekte mit Array_merge () zusammenführen
$ merge_object = (Object) array_merge ((Array) $ ACC_OBJ1, (Array) $ ACC_OBJ2);
Echo " Die Werte des zusammengeführten Objekts:

";
foreach ($ merge_object as $ property => $ value)
echo $ achhium. "=>". $ Wert. "
";

?>

Ausgang:

Die folgende Ausgabe wird erstellt, indem das obige Skript vom Webserver ausgeführt wird. Die Ausgabe zeigt die Eigenschaftswerte der Variablen für zusammengeführte Objekte.

Beispiel 3: Objekte mit der Funktion array_merge_recursive () zusammenführen

Objekte können auch durch die Verwendung des integrierten Integration zusammengeführt werden Array_merge_recursive ()) Funktion, mit der verschachtelte Arrays zusammengeführt werden. Wenn ein Array ein weiteres Array enthält.

Um diesem Beispiel zu folgen, erstellen Sie eine PHP -Datei mit dem folgenden Skript. Hier ein Student Die Klasse wird definiert, um das fusionierte Objekt mit der Verwendung des fusionierten Objekts zurückzugeben Merge_objects () Methode. Die Objekte $ obj1 Und $ OBJ2 werden deklariert, um die zu speichern Ausweis Und Markierungen Eigenschaften. Der Markierungen Eigenschaft enthält ein anderes Objekt zum Speichern der Werte der anderen Eigenschaften. Nächste, $ obj1 Und $ OBJ2 werden als Argumente an übergeben Merge_objects (), das verwendet die Array_merge_recursive ()) Funktion.

// die Klasse definieren
Klassenstudent
// Die beiden Objekte mit Array_merge_recursive () zusammenführen ()
Öffentliche Funktion merge_objects ($ object1, $ object2)

$ Obj1 = (Array) $ Objekt1;
$ Obj2 = (Array) $ Object2;
$ merged = array_merge_recursive ($ obj1, $ obj2);
Rückgabe (Objekt) $ fusionged;


// Definieren Sie das Objekt der Klasse
$ student = new student ();
// das erste Objekt deklarieren
$ obj1 = (Objekt) [
'id' => '423456',
'marks' => (Objekt) [
'CSE101' => 87
]
];
// das zweite Objekt deklarieren
$ obj2 = (Objekt) [
'marks' => (Objekt) [
'CSE204' => 94,
'CSE306' => 75
]
];
// Rufen Sie die Funktion auf, um das erste und zweite Objekt zusammenzuführen
$ merged_object = $ student-> merge_objects ($ obj1, $ obj2);
// Drucken Sie die Werte des fusionierten Objekts
Echo "
";
print_r ($ merged_object);
Echo "
";
?>

Ausgang:

Die folgende Ausgabe wird erstellt, indem das obige Skript vom Webserver ausgeführt wird. Die Ausgabe zeigt die Eigenschaftswerte der Variablen für zusammengeführte Objekte.

Abschluss

In diesem Tutorial zeigen wir Ihnen drei verschiedene Möglichkeiten, Objekte in PHP zusammenzuführen. Im ersten Beispiel werden die Objekte mithilfe einer für die Schleife zusammengeführt, und in den beiden anderen Beispielen werden integrierte Funktionen zum Zusammenführen von Arrays verwendet.