Jak scalać obiekty w PHP

Jak scalać obiekty w PHP
Chociaż nie ma wbudowanej funkcji, istnieje kilka sposobów łączenia obiektów w PHP. Na przykład można tworzyć nowy obiekt, dodając właściwości dwóch lub więcej obiektów za pomocą pętli. Alternatywnie wymagane obiekty można przekształcić w tablice, które można połączyć za pomocą za pomocą array_merge () Lub array_merge_recursively (), a następnie ponownie przeliczono do obiektu.

W tym samouczku pokażemy, jak użyć powyższych metod do scalania obiektów w PHP.

Przykład 1: scal obiekty za pomocą pętli dla

Aby śledzić ten samouczek, utwórz plik PHP z następującym skryptem. Tutaj Konto klasa jest zadeklarowana. Konto zawiera wyświetlacz() metoda drukowania przypisanych wartości obiektów klasy. Zwyczaj Merge_object () Funkcja jest zadeklarowana w celu scalania dwóch obiektów Konto klasa używacza do pętli. Dwie dla pętli są używane do scalania wartości obiektów i przechowywania w innym obiekcie Konto klasa. $ ACC_OBJ1 Obiekt służy do przypisania trzech wartości właściwości Konto klasa i $ ACC_OBJ2 Obiekt służy do przypisania dwóch wartości właściwości. Zmienne te zostaną przekazane jako argumenty do Merge_object () funkcjonować.

// Zdefiniuj klasę
Konto klasowe
Wyświetlacz funkcji publicznej ($ obiekt)

Echo " Nazwa: ".$ obiekt-> nazwa."
";
Echo " E-mail: ".$ obiekt-> e-mail."
";
Echo " Typ konta: ".$ obiekt-> rec_type."
";
Echo " Bilans Onnning: ".$ Object-> ginning_balance."
";
Echo " Bilans aktualny: ".$ object-> current_balance;


// Zdefiniuj funkcję, aby scalić obiekty
funkcja serge_object ($ object1, $ object2)
// Utwórz nowy obiekt klasy
$ merge_object = new ConcT ();
// Przypisz wartości pierwszego obiektu do nowego obiektu
foreach ($ object1 jako $ właściwość => $ wartość)
$ merge_Object-> $ Propert = $ wartość;

// dołącz wartości drugiego obiektu do nowego obiektu
foreach ($ object2 jako $ właściwość => $ wartość)
$ merge_Object-> $ Propert = $ wartość;

Echo " Wartości połączonego obiektu:

";
// wywołać funkcję, aby wydrukować wartości scalonego obiektu
$ merge_object-> display ($ merge_object);

// Utwórz pierwszy obiekt i przypisz wartości właściwości
$ acc_obj1 = new ConcT ();
$ acc_obj1-> name = "mahmudul ahsan";
$ acc_obj1-> e-mail = "[email protected] ";
$ acc_obj1-> acc_type = "saving";
// Utwórz drugi obiekt i przypisz wartości właściwości
$ acc_obj2 = new ConcT ();
$ ACC_OBJ2-> FINGNING_BALANCE = 40000;
$ acc_obj2-> current_balance = 50000;
// wywołać funkcję, aby scalić oba obiekty
Merge_object ($ acc_obj1, $ acc_obj2);
?>

Wyjście:

Następujące dane wyjściowe zostanie wyprodukowane po uruchomieniu powyższego skryptu z serwera internetowego. Dane wyjściowe pokazuje wartości właściwości zmiennej połączonej obiektu.

Przykład 2: Scal obiekty za pomocą funkcji array_merge ()

array_merge () Funkcja służy do scalania dwóch lub więcej tablic. Aby śledzić ten przykład, utwórz plik PHP z następującym skryptem. Tutaj Konto Klasa służy do drukowania wartości scalonego obiektu. Obiekty $ ACC_OBJ1 I $ ACC_OBJ2 są tworzone w skrypcie. Trzy wartości właściwości są przypisywane za pomocą $ ACC_OBJ1 a dwie wartości właściwości są przypisywane za pomocą $ ACC_OBJ2. Te dwa obiekty są przekształcane na dwie tablice i przekazywane jako argumenty array_merge () funkcjonować. Wyjście array_merge () Funkcja jest przekształcana w obiekt, aby uzyskać $ merge_object. Następny, $ merge_object jest przekazywany jako argument do wyświetlacz() Metoda Konto klasa.

// Zdefiniuj klasę
Konto klasowe
Wyświetlacz funkcji publicznej ($ obiekt)

Echo " Nazwa: ".$ obiekt-> nazwa."
";
Echo " E-mail: ".$ obiekt-> e-mail."
";
Echo " Typ konta: ".$ obiekt-> rec_type."
";
Echo " Bilans Onnning: ".$ Object-> ginning_balance."
";
Echo " Bilans aktualny: ".$ object-> current_balance;


// Utwórz pierwszy obiekt i przypisz wartości właściwości
$ acc_obj1 = new ConcT ();
$ acc_obj1-> name = "Ferzana Rahman";
$ acc_obj1-> e-mail = "[email protected] ";
$ acc_obj1-> acc_type = "current";
// Utwórz drugi obiekt i przypisz wartości właściwości
$ acc_obj2 = new ConcT ();
$ ACC_OBJ2-> FINGNING_BALANCE = 500000;
$ acc_obj2-> current_balance = 450000;
// scal obiekty za pomocą array_merge ()
$ merge_object = (object) array_merge ((array) $ acc_obj1, (array) $ acc_obj2);
Echo " Wartości połączonego obiektu:

";
foreach ($ merge_Object jako $ właściwość => $ wartość)
Echo $ nieruchomość. "=>". $ wartość. "
";

?>

Wyjście:

Poniższe dane wyjściowe zostaną wyprodukowane przez uruchomienie powyższego skryptu z serwera internetowego. Dane wyjściowe pokazuje wartości właściwości zmiennej połączonej obiektu.

Przykład 3: Scal obiekty za pomocą funkcji Array_Merge_Recursive ()

Obiekty można również połączyć za pomocą wbudowanego array_merge_recursive () funkcja, która służy do scalania zagnieżdżonych tablic. Dlatego jeśli dowolna tablica zawiera inną tablicę w niej, wówczas ta funkcja zwróci połączoną tablicę, łącząc wartości zagnieżdżonej tablicy.

Aby śledzić ten przykład, utwórz plik PHP z następującym skryptem. Tutaj Student klasa jest zdefiniowana w celu zwrócenia scalonego obiektu za pomocą Merge_objects () metoda. Obiekty $ obj1 I $ obj2 są zadeklarowane do przechowywania ID I znaki nieruchomości. znaki właściwość zawiera inny obiekt do przechowywania wartości innych właściwości. Następny, $ obj1 I $ obj2 są przekazywane jako argumenty Merge_objects (), który używa array_merge_recursive () funkcjonować.

// Zdefiniuj klasę
klasa uczeń
// scal dwa obiekty za pomocą array_merge_recursive ()
Funkcja publiczna Merge_Objects ($ object1, $ object2)

$ Obj1 = (tablica) $ object1;
$ Obj2 = (tablica) $ object2;
$ merged = array_merge_recursive ($ obj1, $ obj2);
return (obiekt) $ scalged;


// Zdefiniuj obiekt klasy
$ student = nowy student ();
// zadeklaruj pierwszy obiekt
$ obj1 = (obiekt) [
„id” => '423456',
„Marks” => (obiekt) [
„CSE101” => 87
]
];
// Deklaruj drugi obiekt
$ obj2 = (obiekt) [
„Marks” => (obiekt) [
„CSE204” => 94,
„Cse306” => 75
]
];
// wywołać funkcję, aby scalić pierwszy i drugie obiekty
$ merged_object = $ Student-> merge_objects ($ obj1, $ obj2);
// Wydrukuj wartości scalonego obiektu
Echo "
";
print_r ($ merged_Object);
Echo "
";
?>

Wyjście:

Poniższe dane wyjściowe zostaną wyprodukowane przez uruchomienie powyższego skryptu z serwera internetowego. Dane wyjściowe pokazuje wartości właściwości zmiennej połączonej obiektu.

Wniosek

W tym samouczku pokazujemy trzy różne sposoby łączenia obiektów w PHP. W pierwszym przykładzie obiekty są scalane przy użyciu pętli for, a w pozostałych dwóch przykładach używane są wbudowane funkcje do łączenia tablic.