Como mesclar objetos em php

Como mesclar objetos em php
Embora não haja função interna, existem várias maneiras de mesclar objetos no PHP. Por exemplo, um novo objeto pode ser criado adicionando as propriedades de dois ou mais objetos usando um loop. Como alternativa, os objetos necessários podem ser convertidos em matrizes, que podem ser mesclados usando Array_Merge () ou Array_Merge_recursivamente (), e depois reconvertido para um objeto.

Neste tutorial, mostraremos como usar os métodos acima para mesclar objetos no PHP.

Exemplo 1: Mesclar objetos usando um loop for

Para seguir este tutorial, crie um arquivo php com o seguinte script. Aqui, um Conta A classe é declarada. Conta contém a mostrar() Método para imprimir os valores de objeto atribuídos da classe. O costume Merge_Object () a função é declarada mesclar dois objetos do Conta classe usando um loop. Dois para loops são usados ​​para mesclar os valores dos objetos e armazená -los em outro objeto do Conta aula. O $ acc_obj1 O objeto é usado para atribuir três valores de propriedade do Conta classe e o $ acc_obj2 O objeto é usado para atribuir dois valores de propriedade. Essas variáveis ​​serão passadas como argumentos para o Merge_Object () função.

// Definir classe
Classe Conta
Exibição de função pública ($ objeto)

eco " Nome: ".$ object-> nome."
";
eco " E-mail: ".$ object-> e-mail."
";
eco " Tipo de conta: ".$ object-> acc_type."
";
eco " Balanço de abertura: ".$ object-> Openning_balance."
";
eco " Saldo atual: ".$ object-> current_balance;


// define função para mesclar objetos
função merge_object ($ object1, $ object2)
// Crie um novo objeto da classe
$ merge_object = new Account ();
// atribui os valores do primeiro objeto a um novo objeto
foreach ($ object1 como $ propriedade => $ value)
$ merge_object-> $ propriedade = $ value;

// anexar os valores do segundo objeto em novo objeto
foreach ($ object2 como $ propriedade => $ value)
$ merge_object-> $ propriedade = $ value;

eco " Os valores do objeto mesclado:

";
// chama a função para imprimir os valores do objeto mesclado
$ merge_object-> display ($ merge_object);

// Crie o primeiro objeto e atribua valores de propriedade
$ acc_obj1 = new Account ();
$ acc_obj1-> name = "mahmudul ahsan";
$ acc_obj1-> email = "[email protected] ";
$ acc_obj1-> acc_type = "salvamento";
// Crie o segundo objeto e atribua valores de propriedade
$ acc_obj2 = new Account ();
$ acc_obj2-> Openning_balance = 40000;
$ acc_obj2-> current_balance = 50000;
// chama a função para mesclar os dois objetos
Merge_object ($ acc_obj1, $ acc_obj2);
?>

Saída:

A saída a seguir será produzida após a execução do script acima do servidor da web. A saída mostra os valores da propriedade da variável de objeto mesclado.

Exemplo 2: Mesclar objetos usando a função Array_Merge ()

O Array_Merge () A função é usada para mesclar duas ou mais matrizes. Para acompanhar este exemplo, crie um arquivo php com o seguinte script. Aqui o Conta A classe é usada para imprimir os valores do objeto mesclado. Os objetos $ acc_obj1 e $ acc_obj2 são criados no script. Três valores de propriedade são atribuídos usando $ acc_obj1 e dois valores de propriedade são atribuídos usando $ acc_obj2. Esses dois objetos são convertidos em duas matrizes e passados ​​como argumentos do Array_Merge () função. A saída do Array_Merge () A função é convertida em um objeto para obter $ merge_object. Próximo, $ merge_object é passado como um argumento para o mostrar() Método do Conta aula.

// Definir classe
Classe Conta
Exibição de função pública ($ objeto)

eco " Nome: ".$ object-> nome."
";
eco " E-mail: ".$ object-> e-mail."
";
eco " Tipo de conta: ".$ object-> acc_type."
";
eco " Balanço de abertura: ".$ object-> Openning_balance."
";
eco " Saldo atual: ".$ object-> current_balance;


// Crie o primeiro objeto e atribua valores de propriedade
$ acc_obj1 = new Account ();
$ acc_obj1-> name = "Ferzana rahman";
$ acc_obj1-> email = "[email protected] ";
$ acc_obj1-> acc_type = "atual";
// Crie o segundo objeto e atribua valores de propriedade
$ acc_obj2 = new Account ();
$ acc_obj2-> Openning_balance = 500000;
$ acc_obj2-> current_balance = 450000;
// Mesclar os objetos usando Array_Merge ()
$ merge_object = (objeto) Array_Merge ((Array) $ Acc_Obj1, (Array) $ Acc_obj2);
eco " Os valores do objeto mesclado:

";
foreach ($ merge_object como $ propriedade => $ value)
Propriedade do eco $. "=>". $ valor. "
";

?>

Saída:

A saída a seguir será produzida executando o script acima do servidor da web. A saída mostra os valores da propriedade da variável de objeto mesclado.

Exemplo 3: Mesclar objetos usando a função Array_Merge_Recursive ()

Objetos também podem ser mesclados usando o embutido Array_merge_recursive () função, que é usada para mesclar matrizes aninhadas. Portanto, se alguma matriz contiver outra matriz dentro dela, essa função retornará uma matriz mesclada, mesclando os valores da matriz aninhada.

Para acompanhar este exemplo, crie um arquivo php com o seguinte script. Aqui um Estudante A classe é definida para retornar o objeto mesclado usando o Merge_Objects () método. Os objetos $ obj1 e $ obj2 são declarados para armazenar o eu ia e Marcas propriedades. O Marcas A propriedade contém outro objeto para armazenar os valores das outras propriedades. Próximo, $ obj1 e $ obj2 são passados ​​como argumentos para Merge_Objects (), que usa o Array_merge_recursive () função.

// Defina a classe
Classe Student
// Mesclar os dois objetos usando array_merge_recursive ()
Função pública Merge_Objects ($ object1, $ object2)

$ Obj1 = (matriz) $ object1;
$ Obj2 = (matriz) $ object2;
$ mescle = array_merge_recursive ($ obj1, $ obj2);
retornar (objeto) $ mesclado;


// define o objeto da classe
$ estudante = novo aluno ();
// Declare o primeiro objeto
$ obj1 = (objeto) [
'id' => '423456',
'Marcas' => (objeto) [
'CSE101' => 87
]
];
// Declare o segundo objeto
$ obj2 = (objeto) [
'Marcas' => (objeto) [
'CSE204' => 94,
'CSE306' => 75
]
];
// chama a função para mesclar os primeiros e os segundos objetos
$ Merged_Object = $ Student-> Merge_Objects ($ obj1, $ obj2);
// imprima os valores do objeto mesclado
eco "
";
print_r ($ Merged_Object);
eco "
";
?>

Saída:

A saída a seguir será produzida executando o script acima do servidor da web. A saída mostra os valores da propriedade da variável de objeto mesclado.

Conclusão

Neste tutorial, mostramos três maneiras diferentes de mesclar objetos no PHP. No primeiro exemplo, os objetos são mesclados usando um loop for e nos outros dois exemplos, funções internas para mesclagem são usadas.