在 php 中合并两个多数组(使用 codeigniter)


Merge two multi arrays in php (using codeigniter)

请帮我合并两个多维数组。它看起来像:

Array
(
    [data] => Array
        (
            [1] => Array
                (
                    [id] => 1
                )
            [2] => Array
                (
                    [id] => 2
                )
        )
)

和第二个阵列

Array
(
    [0] => stdClass Object
        (
            [votes] => 45
        )
    [1] => stdClass Object
        (
            [votes] => 9
        )
)

我需要的最终输出:

Array
(
    [data] => Array
        (
            [1] => Array
                (
                    [id] => 1
                    [votes] => 1
                )
            [2] => Array
                (
                    [id] => 2
                    [votes] => 2
                )
        )
)

我已经尝试了array_merge,array_merge_recursive和一些测试。但任何事情都帮不了我:(请帮忙!

如果键真的被移动了,那么这应该可以工作:(否则不需要 -1。

<?php
foreach($array1['data'] as $key => &$subarray){
        $subarray['votes']=$array2[$key-1]->votes;
}

PHP 中没有内置函数,但您可以遍历第一个数组并手动从第二个数组分配值。

foreach($firstArray['data'] as $key => &$value) {
    $value['votes'] = $secondArray[$key]->votes;
}

您是否考虑过第二个数组上的 foreach 循环?我的PHP是一个很生疏的,但这里是:

foreach($arrayOne["data"] as $key => $value) {
    $sub = $arrayTwo[$key];
    $value["votes"] = $sub["votes"];
}

请原谅任何错误,写在手机上,赶上公共汽车。

使用 PHP 函数 "array_merge_recursive" http://php.net/manual/en/function.array-merge-recursive.php和"array_values"具有同因键

$array_ret['data'] = array_merge_recursive(array_values($array1['data']), array_values($array2));