首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将多维PHP数组与in合并

将多维PHP数组与in合并
EN

Stack Overflow用户
提问于 2016-04-28 05:20:01
回答 3查看 51关注 0票数 0

我的问题与类似的帖子有点不同,在某种意义上,我没有任何其他数组可以合并。

我想将数组与多维数组合并。

所以它不再是多维的了。

下面是我的数组:

代码语言:javascript
运行
复制
Array
(
    [2013-12-01::2015-07-29] => Array
        (
            [TotalMonths] => 1
            [0] => 2015-07-01
        )

    [2015-11-01::2016-03-30] => Array
        (
            [TotalMonths] => 5
            [0] => 2015-11-01
            [1] => 2015-12-01
            [2] => 2016-01-01
            [3] => 2016-02-01
            [4] => 2016-03-01
        )

    [2016-04-01::2017-11-30] => Array
        (
            [TotalMonths] => 3
            [0] => 2016-04-01
            [1] => 2016-05-01
            [2] => 2016-06-01
        )

)

我正在尝试的是将所有数组与in合并。但是索引(TotalMonths)是常见的,因此只有这样,它才应该将类似于(1+5+3) = 8的值相加,这将反映在新的合并数组中。

我也尝试过this example,但我不知道如何获得相同的价值观。

这就是我迄今尝试过的:

代码语言:javascript
运行
复制
print_r($collidingMonths);
$outPutArray = array();
foreach($collidingMonths as $innerArray) {
    $outPutArray[key($innerArray)] = current($innerArray);
}

print_r($outPutArray);

但我得到了我不想要的结果:

代码语言:javascript
运行
复制
Array
(
    [TotalMonths] => 3
)
EN

Stack Overflow用户

发布于 2016-04-28 05:42:28

我认为预期输出OP需要的是:

代码语言:javascript
运行
复制
array
(
    [TotalMonths] => 9,
    [0] => 2015-07-01,
    [1] => 2015-11-01,
    [2] => 2015-12-01,
    [3] => 2016-01-01,
    [4] => 2016-02-01,
    [5] => 2016-03-01,
    [6] => 2016-04-01,
    [7] => 2016-05-01,
    [8] => 2016-06-01,
)

为了做到这一点,我们可以做这样的事情:

代码语言:javascript
运行
复制
$outPutArray = array();

foreach($collidingMonths as $timestamp => $monthsArray)
{
    foreach($monthsArray as $key => $value)
    {
        if(is_numeric($value))
        {
            if(isset($outPutArray[$key]))
                $outPutArray[$key] += $value;
            else 
                $outPutArray[$key] = $value;
        }
        else
        {
            array_push($outPutArray, $value);
        }
}
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36905856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档