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]
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 :
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, 'demo'); var_dump($obj_merged); ?>
Sortie :
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!