合并2多维数组和价值总和 [英] Merge 2 multi-dimension arrays and sum value

查看:103
本文介绍了合并2多维数组和价值总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个存储X和Y坐标我想一起合并成一个单一的阵列,而preserving x的值,但增加的y值在一起的两个多维数组。

阵列1:

 阵列(
[0] =>排列
    (
        [X] => 1327449600000
        [Y] =>五
    )[1] =>排列
    (
        [X] => 1327450500000
        [Y] => 1
    )

阵列2:

 阵列(
[0] =>排列
    (
        [X] => 1327449600000
        [Y] => 1
    )[1] =>排列
    (
        [X] => 1327450500000
        [Y] => 3
    )

所以合并的结果将是:

 阵列(
[0] =>排列
    (
        [X] => 1327449600000
        [Y] => 6
    )[1] =>排列
    (
        [X] => 1327450500000
        [Y] => 4
    )

任何帮助将大大AP preciated。


解决方案

 函数add_array($ A1,A2 $){
    $ C =计数($ A1);
    为($ I = 0; $ I< $ C,$ I ++){
        如果(使用isset($ A2 [$ i])及和放大器;使用isset($ A2 [$ i] ['Y'])){
            $ A1 [$ i] ['Y'] + = $ A2 [$ i] ['Y'];
        }
    }
    返回$ A1;
}

I have two multidimensional arrays which store x and y coordinates I am trying to merge together into a single array while preserving the x value but adding together the y values.

Array 1:

Array(
[0] => Array
    (
        [x] => 1327449600000
        [y] => 5
    )

[1] => Array
    (
        [x] => 1327450500000
        [y] => 1
    )

Array 2:

 Array(
[0] => Array
    (
        [x] => 1327449600000
        [y] => 1
    )

[1] => Array
    (
        [x] => 1327450500000
        [y] => 3
    )

So the combined outcome would be:

 Array(
[0] => Array
    (
        [x] => 1327449600000
        [y] => 6
    )

[1] => Array
    (
        [x] => 1327450500000
        [y] => 4
    )

Any help would be greatly appreciated.

解决方案

function add_array($a1, $a2) {
    $c = count($a1);
    for ($i=0;$i<$c;$i++) {
        if (isset($a2[$i]) && isset($a2[$i]['y'])) {
            $a1[$i]['y'] += $a2[$i]['y'];
        }
    }
    return $a1;
}

这篇关于合并2多维数组和价值总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆