php - PHP将2个数组组合成第三个
问题描述
给定 PHP 中的 2 个数组,看起来像这样......
Array
(
[item1] => Array
(
[myValues] => Array
(
[1] => 5
[2] => 1
)
)
[item2] => Array
(
[myValues] => Array
(
[1] => 5
[2] => 1
)
)
)
Array
(
[item1] => Array
(
[1] => 2
)
[item2] => Array
(
[1] => 5
[2] => 1
)
)
array1
array ( 'item1' => array ( 'myValues' => array ( 1 => 5, 2 => 1, ), ), 'item2' => array ( 'myValues' => array ( 1 => 5, 2 => 1, ), ), )
将它们组合成一个看起来像这样的数组的最佳方法是什么......
Array
(
[item1] => Array
(
[myValues] => Array
(
[1] => 5
[2] => 1
)
[myValues2] => Array
(
[1] => 2
)
)
[item2] => Array
(
[myValues] => Array
(
[1] => 5
[2] => 1
)
[myValues2] => Array
(
[1] => 5
[2] => 1
)
)
)
array2
array ( 'item1' => array ( 1 => 2, ), 'item2' => array ( 1 => 5, 2 => 1, ), )
我无法控制输出,所以我认为我最好的方法是遍历每个数组并将项目复制到一个新的数组中。
我试过了...
print_r(array_merge($a1,$a2));
但这并没有给我我正在寻找的结果。有人有例子吗?
解决方案
使用已知的第一级密钥和您发明的第二级密钥将您的 array2 数据推送到 array1 中。
代码:(演示)
$array1 = array ( 'item1' => array ( 'myValues' => array ( 1 => 5, 2 => 1, ), ), 'item2' => array ( 'myValues' => array ( 1 => 5, 2 => 1, ), ), );
$array2 = array ( 'item1' => array ( 1 => 2, ), 'item2' => array ( 1 => 5, 2 => 1, ), );
foreach ($array2 as $key => $subarray) {
$array1[$key]['myValues2'] = $subarray;
}
var_export($array1);
输出:
array (
'item1' =>
array (
'myValues' =>
array (
1 => 5,
2 => 1,
),
'myValues2' =>
array (
1 => 2,
),
),
'item2' =>
array (
'myValues' =>
array (
1 => 5,
2 => 1,
),
'myValues2' =>
array (
1 => 5,
2 => 1,
),
),
)
推荐阅读
- .net - 试图了解 RSACryptoServiceProvider 密钥和消息长度关系
- java - Java图像未出现在jar应用程序中
- angular - Angular 编译器中纯打字稿库的“未找到模块”
- graphql - 在 Amplify ReactJs 中删除和更新 Graphql 突变
- node.js - @angular-cli install 失败,请求被弃用@2.88.2:请求已被弃用(mac)
- javascript - FullCalendar v4 - fullCalendar 不是函数
- json - Jenkins - 将 curl 输出存储到文件中以供将来使用
- node.js - 如何在开发 VSCode 扩展时使用 node-sass?
- c - 如何使用 C 中的中序遍历编写递归函数来搜索二叉树中的键?
- triggers - 如何根据控制表中的最新记录触发 Google Cloud Composer DAG