• 技术文章 >后端开发 >php教程

    PHP如何合并两个对象?(代码示例)

    青灯夜游青灯夜游2019-03-12 14:06:14原创7103
    在PHP中,如果给定两个相同类的对象,如何将两个对象合并为单个对象?下面本篇文章就来给大家介绍PHP中合并两个对象的方法,希望对大家有所帮助。【视频教程推荐:PHP教程

    方法一:先将对象转换为数据数组,然后使用array_merge()函数进行合并,最后将合并后的数据转换为stdClass对象。

    说明:在使用array_merge()合并对象时,argument1中的数组元素将被argument2中的数组元素覆盖。如果argument2中的数组具有空值,则这可能使最终对象中的结果元素无效。

    示例:

    <?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); 
      
    ?>

    输出:

    方法二:创建原始类的新对象,并使用foreach循环将这两个对象的所有属性分配给此新对象。

    说明:这是一种简单而干净的合并两个对象的方法。

    示例:

    <?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); 
      
    ?>

    输出:

    以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

    以上就是PHP如何合并两个对象?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 合并两个对象
    上一篇:php计算字符串的32位crc(循环冗余校验) 下一篇:PHP如何实现二进制搜索?(代码示例)
    Web大前端开发直播班

    相关文章推荐

    • jquery创建并行对象或者合并对象的实现代码_jquery• PHP对象实例化单例方法• php对象克隆的实现方法• 关于php对象依赖的介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网