如何在代码点火器中将两个对象的值合并为一个对象


How to merge the values of two objects into one object in codeigniter

我有一个对象数组,这些对象都是同一个对象。但最后我需要将对象的所有这些值放入单个对象中。这些是我的对象。

数组(    [0] => 权限对象        (            [模块] => 数组                (                    [0] => 3                    [1] => 4                )            [子模块] => 数组                (                )            [操作] =>数组                (                    [3M] => 阵列                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [4M] => 阵列                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                )        )    [1] => 权限对象        (            [模块] => 数组                (                    [0] => 1                    [1] => 3                )            [子模块] => 数组                (                    [0] => 1                    [1] => 2                    [2] => 3                    [3] => 4                    [4] => 7                    [5] => 8                )            [操作] =>数组                (                    [1] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [2] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [3] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [4] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [7] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [8] => 数组                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                    [3M] => 阵列                        (                            [0] => 创建                            [1] => 读取                            [2] => 更新                            [3] => 删除                        )                )        ))
如果不想

使用 array_merge,可以使用解决方法,如下所示:

$global; //your array
$merged = array(); //the array you want with the merged objects
foreach ($global as $k => $object) {
    foreach ($object as $key => $values) {
        foreach ($values as $val)
            $merged[$key][] = $val;
    }
}

在合并之前或之后,您只需删除重复值。

$array1 = [ 
        "modules" => [ 
            0 => 2, 1 => 4
            ], 
        "submodules" => [
            "3m" => [
                0 => "create", 1 => "read"
                ], 
            "4m" => [0 => "create", 1 => "read"
                ]
        ]
    ];
$array2 = [ 
    "modules" => [ 
        0 => 1, 
        1 => 3
        ], 
    "submodules" => [
        "1m" => [
            0 => "create", 1 => "read"
            ], 
        "10m" => [
            0 => "create", 1 => "read"
            ]
    ]
];
$merged = array_merge_recursive($array1, $array2);
print_r($merged);
Array ( [modules] => Array ( 
[0] => 2 [1] => 4 [2] => 1 [3] => 3 
) 
[submodules] => Array ( 
[3m] => Array ( [0] => create [1] => read 
    ) 
[4m] => 
    Array ( [0] => create [1] => read 
        ) 
[1m] => Array (
    [0] => create [1] => read 
    ) 
[10m] => Array ( 
[0] => create [1] => read 
    ) 
)