Maison  >  Article  >  développement back-end  >  Comment fusionner deux objets en PHP ? (exemple de code)

Comment fusionner deux objets en PHP ? (exemple de code)

青灯夜游
青灯夜游original
2019-03-12 14:06:1411691parcourir

En PHP, si on lui donne deux objets de la même classe, comment fusionner les deux objets en un seul objet ? L'article suivant vous présentera la méthode de fusion de deux objets en PHP, j'espère qu'il vous sera utile. [Recommandation du didacticiel vidéo : Tutoriel PHP]

Comment fusionner deux objets en PHP ? (exemple de code)

Méthode 1 : Convertissez d'abord l'objet en un tableau de données, puis utilisez array_merge() pour fusionner, et enfin convertir les données fusionnées en un objet stdClass.

Remarque : lors de l'utilisation de array_merge() pour fusionner des objets, les éléments du tableau dans argument1 seront écrasés par les éléments du tableau dans argument2. Si le tableau de l'argument2 a des valeurs nulles, cela peut invalider les éléments résultants dans l'objet final.

Exemple :

<?php 
class demo { 
    // 空类
} 
  
$objectA = new demo(); 
$objectA->a = 1; 
$objectA->b = 2; 
$objectA->d = 3; 
  
$objectB = new demo(); 
$objectB->d = 4; 
$objectB->e = 5; 
$objectB->f = 6; 
  
$obj_merged = (object) array_merge( 
        (array) $objectA, (array) $objectB); 
          
var_dump($obj_merged); 
  
?>

Sortie :

Comment fusionner deux objets en PHP ? (exemple de code)

Méthode 2 : Créer un nouvel objet de l'original class, et utilisez une boucle foreach pour attribuer toutes les propriétés des deux objets à ce nouvel objet.

Description : Il s'agit d'un moyen simple et propre de fusionner deux objets.

Exemple :

<?php 
class demo { 
    // 空类
} 
$objectA = new demo(); 
$objectA->A = 1; 
$objectA->B = 2; 
$objectA->C = 3; 
$objectA->D = 4; 
$objectA->E = 5; 
$objectB = new demo(); 
$objectB->D = 6; 
$objectB->E = 7; 
$objectB->F = 8; 
  
// 用于转换给定对象类的函数
function convertObjectClass($objectA, $objectB, $final_class) { 
  
    $new_object = new $final_class(); 
  
    // 初始化类属性
    foreach($objectA as $property => $value) { 
        $new_object->$property = $value; 
    } 
      
    foreach($objectB as $property => $value) { 
        $new_object->$property = $value; 
    } 
  
    return $new_object; 
} 
  
$obj_merged = convertObjectClass($objectA,$objectB, &#39;demo&#39;); 
          
var_dump($obj_merged); 
  
?>

Sortie :

Comment fusionner deux objets en PHP ? (exemple de code)

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile car l’apprentissage de chacun a aidé. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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