合并2多维数组和价值总和 [英] Merge 2 multi-dimension arrays and sum value
本文介绍了合并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屋!
查看全文