如何通过其他密钥通过相同的密钥和组求和值
问题描述:
我想用相同的参考号码对产品进行求和,但我有第三个参数,例如维度。 (...,24,26mm,...),并且当它们具有相同的尺寸时,我无法将此值总和为而只有。我试过这个:Group a multidimensional array by a particular value?但是如何总结数值? 我的数组是这样的:如何通过其他密钥通过相同的密钥和组求和值
Array
(
[0] => Array
(
[0] => 2
[1] => 790180X
[2] => 26mm
)
[1] => Array
(
[0] => 4
[1] => 762182Z
)
[2] => Array
(
[0] => 2
[1] => 072182X
)
[3] => Array
(
[0] => 4
[1] => 660122Y
)
[4] => Array
(
[0] => 2
[1] => 790180X
[2] => 24mm
)
[5] => Array
(
[0] => 1
[1] => 225160Y
)
[6] => Array
(
[0] => 1
[1] => 244160Y
)
[7] => Array
(
[0] => 1
[1] => 225160Y
)
[8] => Array
(
[0] => 8
[1] => 954120Y
)
[9] => Array
(
[0] => 3
[1] => 072182X
)
)
我想是这样的:
Array
(
[0] => Array
(
[0] => 2
[1] => 790180X
[2] => 26mm
)
[1] => Array
(
[0] => 2
[1] => 790180X
[2] => 24mm
)
[2] => Array
(
[0] => 4
[1] => 762182Z
)
[3] => Array
(
[0] => 5
[1] => 072182X
)
[4] => Array
(
[0] => 4
[1] => 660122Y
)
[5] => Array
(
[0] => 2
[1] => 225160Y
)
[6] => Array
(
[0] => 1
[1] => 244160Y
)
[7] => Array
(
[0] => 8
[1] => 954120Y
)
)
在短版的阵列:
Array => TO => Array
( (
[0] => 2:790180X:26mm [0] => 2:790180X:26mm
[1] => 4:762182Z [1] => 2:790180X:24mm
[2] => 2:072182X [2] => 4:762182Z
[3] => 4:660122Y [3] => 5:072182X
[4] => 2:790180X:24mm [4] => 4:660122Y
[5] => 1:225160Y [5] => 2:225160Y
[6] => 1:244160Y [6] => 1:244160Y
[7] => 1:225160Y [7] => 8:954120Y
[8] => 8:954120Y )
[9] => 3:072182X
)
答
就总结到一个新的数组,使用各种“分组”字段作为新阵列中的键:
$sums = array();
foreach ($yourarray as $element) {
$sums[$element['dimension1']][$element['dimension2']]++;
}
对于需要'分组'的每个维度,您需要向$ sum数组添加一个键。
我试过@Gerard Banasig答案来自:http://stackoverflow.com/questions/2189626/group-a-multidimensional-array-by-a-particular-value,但不是我期待的。 – Marcos 2013-03-08 14:20:30
@Pitchinnate你的代码也可以工作。 – Marcos 2013-03-08 14:37:28
是啊马克的更简洁,所以我想我会删除我的。 – Pitchinnate 2013-03-08 14:39:20