PHP - 多维数组合并为一个数组
PHP - Multidimensional array merge to one array
我有 2 个这样的数组:
数组一:
[
[
"id" => 1234
"name" => "John"
],
[
"id" => 1235
"name" => "doe"
]
]
数组二:
[
[
"age" => 12
],
[
"age" => 13
]
]
我尝试过使用并结合 array_reduce
、array_map
或 array_merge_recursive
,但结果仍然不匹配。
如何制作如下两个数组?
[
[
"id" => 1234
"name" => "John"
"age" => 12
],
[
"id" => 1235
"name" => "doe"
"age" => 13
]
]
请帮助我。谢谢
array-map with combination of array-merge 应该可以解决问题:
$c = array_map('array_merge', $a, $b);
实例:3v4l
您可以迭代第一个数组并与具有相关索引匹配的第二个数组合并
$merged =[];
foreach($a as $k => $val){
array_push($merged,array_merge($val,$b[$k]));
}
print_r($merged);
您可以像这样使用 array_merge:
<?php
$array = array(
["id" => "1",
"name" => "denba"
],
["id" => "1",
"name" => "chpa7"
],
);
$ages = array(
["age" => "15",
],
["age" => "17",
],
);
foreach($array as $key => $value){
$array[$key]=array_merge($array[$key], $ages[$key]);
}
var_dump($array);
/*output:
array(2) {
[0]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(5) "denba"
["age"]=>
string(2) "15"
}
[1]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(5) "chpa7"
["age"]=>
string(2) "17"
}
}
*/
我有 2 个这样的数组:
数组一:
[
[
"id" => 1234
"name" => "John"
],
[
"id" => 1235
"name" => "doe"
]
]
数组二:
[
[
"age" => 12
],
[
"age" => 13
]
]
我尝试过使用并结合 array_reduce
、array_map
或 array_merge_recursive
,但结果仍然不匹配。
如何制作如下两个数组?
[
[
"id" => 1234
"name" => "John"
"age" => 12
],
[
"id" => 1235
"name" => "doe"
"age" => 13
]
]
请帮助我。谢谢
array-map with combination of array-merge 应该可以解决问题:
$c = array_map('array_merge', $a, $b);
实例:3v4l
您可以迭代第一个数组并与具有相关索引匹配的第二个数组合并
$merged =[];
foreach($a as $k => $val){
array_push($merged,array_merge($val,$b[$k]));
}
print_r($merged);
您可以像这样使用 array_merge:
<?php
$array = array(
["id" => "1",
"name" => "denba"
],
["id" => "1",
"name" => "chpa7"
],
);
$ages = array(
["age" => "15",
],
["age" => "17",
],
);
foreach($array as $key => $value){
$array[$key]=array_merge($array[$key], $ages[$key]);
}
var_dump($array);
/*output:
array(2) {
[0]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(5) "denba"
["age"]=>
string(2) "15"
}
[1]=>
array(3) {
["id"]=>
string(1) "1"
["name"]=>
string(5) "chpa7"
["age"]=>
string(2) "17"
}
}
*/