请帮我合并两个多维数组。它看起来像:
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));