У меня есть цикл ниже:
$Sum = '';
$CommodityCode = '';
foreach ($obj['statisticalvalues'] as $key => $value) {
if (isset($obj['commoditycodes'][$key]['match'])) {
//If our commodity code from last iteration is the same as current = we have a duplicate!
if ($CommodityCode !== $obj['commoditycodes'][$key]['match']) {
$Sum = $value['key_0'];
} else {
$Sum += $value['key_0'];
}
$ReturnString .= '' . $obj['commoditycodes'][$key]['match'] . '';
$ReturnString .= '' . $Sum . '';
//Set the code for next iteration
$CommodityCode = $obj['commoditycodes'][$key]['match'];
}
}
, который будет выводить:
CODE VALUE
3002190000 610.20
3002190000 846.7
3002190000 1083.2
3002190000 4156.4
3002190000 4461.5
3002190000 4711.4
3002190000 5061.4
3002190000 6061
3002190000 6886.3
3002190000 7136.2
3002190000 7435.8
3002190000 8196
3002190000 8466.2
8000120000 1000.5
Как видите, VALUE
суммирует правильно, но все равно печатает CODE
для каждой строки.
Я пытаюсь это сделать, поэтому он будет выводить только отдельные значения - но все равно будет суммировать общее значение для этого кода, как показано ниже:
CODE VALUE
3002190000 8466.2
8000120000 1000.5