Maison >développement back-end >tutoriel php >Comment fusionner efficacement deux objets PHP non liés ?

Comment fusionner efficacement deux objets PHP non liés ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-30 03:14:15262parcourir

How to Efficiently Merge Two Unrelated PHP Objects?

Comment fusionner deux objets PHP distincts

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.

Solution

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.

Exemple

$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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn