【问题标题】:PHP - Concatenating 2 objectsPHP - 连接 2 个对象
【发布时间】:2012-06-09 07:39:37
【问题描述】:

我有 2 个对象。

这是我使用 PHP 的 print_r 方法打印出来的对象的输出。

项目#1;

stdClass Object ( [id] => 1 [portal_id] => 1 [name=> NEVZAT )

对象#2;

stdClass Object ( [surname] => YILMAZ)

我想将这 2 个对象相互连接,所以在过程结束时我需要一个包含 2 个对象的所有变量的对象;

stdClass Object ( [id] => 1 [portal_id] => 1 [name=> NEVZAT [surname] => YILMAZ )

【问题讨论】:

标签: php


【解决方案1】:

只需像这样复制属性:

// assume $o1 and $o2 are your objects
// we copy $o1 attributes to $o2
foreach ($o1 as $attr => $value) {
        $o2->{$attr} = $value;
}

【讨论】:

    【解决方案2】:

    一种简单的方法是将对象临时转换为数组,合并这些数组,然后将生成的数组转换回stdClass 对象。

    $merged = (object) array_merge((array) $object_a, (array) $object_b);
    

    【讨论】:

    • 看起来不错,谢谢,但我想知道这是否是唯一的方法。因为它可能会导致一些性能问题,所以有很多类型转换。
    • 当然不是唯一的方式。回覆。性能问题,我唯一的建议是在性能成为问题时担心性能。
    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2011-08-13
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多