Maison >développement back-end >tutoriel php >Comment fusionner efficacement deux objets PHP non liés ?
Nous avons deux objets PHP que nous souhaitons fusionner, mais ce ne sont pas des sous-classes l'un de l'autre. Nous avons besoin d'une méthode efficace qui évite d'utiliser des boucles lentes.
Si les objets ne contiennent que des champs, nous pouvons utiliser cette méthode pour les fusionner dans un nouvel objet :
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);
Cela fonctionne en convertissant les objets en tableaux, en fusionnant les tableaux à l'aide de la fonction array_merge(), puis en reconvertissant le tableau fusionné en un objet.
$objectA->a; $objectA->b; $objectB->c; $objectB->d; // Merge the objects $objectC = (object) array_merge((array) $objectA, (array) $objectB); // Verify the merged object echo $objectC->a; // Output: Value of a from objectA echo $objectC->b; // Output: Value of b from objectA echo $objectC->c; // Output: Value of c from objectB echo $objectC->d; // Output: Value of d from objectB
Cette méthode fonctionne également si les objets ont des méthodes, bien que cela n'ait pas été testé de manière exhaustive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!