php - 将多个数组合并为一个具有相同日期的数组
问题描述
我正在做一个项目,我需要将多个数组组合到一个具有相同日期的数组中。让我给你看一个例子
["first"]=>
{
[0]=>
{
["date"]=> "Jun 14",
["hhp_signed"]=> "0"
}
}
["second"]=>
{
[0]=>
{
["date"]=> "Jun 14",
["coupon_purchased"]=> 0
}
}
["third"]=>
{
[0]=>
{
["date"]=> "Jun 14",
["user_subscription"]=> "0"
}
}
这是预期的结果
["final"] => {
[0] => {
["date"]=> "Jun 14",
["hhp_signed"] => 0,
["coupon_purchased"] => 0,
["user_subscription"] => 0
}
[1] => {
["date"]=> "Jun 15",
["hhp_signed"] => 2,
["coupon_purchased"] => 5,
["user_subscription"] => 0
}
}
目前我正在编写三个数组的值,但可能有超过三个数组可能是 7 或 8
我试过这个函数,但它只适用于两个数组,在我的例子中,会有两个以上。
function combo($array1, $array2) {
$output = array();
$arrayAB = array_merge($array1, $array2);
foreach ( $arrayAB as $value ) {
$id = $value['date'];
if ( !isset($output[$id]) ) {
$output[$id] = array();
}
$output[$id] = array_merge($output[$id], $value);
}
return $output;
}
我真的很感谢你的努力
解决方案
你需要使用array_merge
功能。
例子:
$final = [];
foreach ($original_array as $value)
{
$final[$value['date']] = array_merge($final, $value);
}
$final['final'] = $final; // like your example
推荐阅读
- java - 我想将我的 SpringBoot 应用程序与其使用的数据库分离。应用程序无法在没有连接的情况下启动
- encryption - 如何找出使用的密码算法?
- laravel - Laravel:从另一个表中的字段中获取带有“where子句”的表中的记录
- go - 使用 ecsda 包验证 ECDSA 签名失败
- php - 根据 WooCommerce 结帐页面上的产品类别应用自定义数量参数
- image - 如何在颤动的盒子装饰上应用线性渐变?
- mongodb - 启用访问控制时的 MongoDB 复制
- c++ - C++ Visual Studio 导入 png 中的 SMFL 语法问题
- python - Python中SIR模型的3D相图
- python - 无法在 Jupyter Notebook (Chrome) 中打开 PDF 文件