我正在一个项目中,我需要将多个数组组合到一个具有相同日期的数组。让我给你看一个例子
["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
}
}
目前,我正在写三个数组的值,但是可能有七个或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;
}
非常感谢您的努力
答案 0 :(得分:0)
您需要使用array_merge
函数。
示例:
$final = [];
foreach ($original_array as $value)
{
$final[$value['date']] = array_merge($final, $value);
}
$final['final'] = $final; // like your example