<?php
$array = Array
(
'0' => Array
(
'ac_no' => 100001,
'amount' => 0.00
),
'1' => Array
(
'ac_no' => 100001,
'amount' => 51255.11
),
'2' => Array
(
'ac_no' => 100001,
'amount' => -500.00
),
'3' => Array
(
'ac_no' => 100001,
'amount' => -621.05
),
'4' => Array
(
'ac_no' => 100002,
'amount' => .00
),
'5' => Array
(
'ac_no' => 100003,
'amount' => .00
),
'6' => Array
(
'ac_no' => 100004,
'amount' => 20714.00
),
'7' => Array
(
'ac_no' => 100004,
'amount' => 0.00
)
);
$acNoWiseArray = [];
foreach($array as $arr){
$acNoWiseArray[$arr['ac_no']]['sum'][] = $arr['amount'];
}
$finalArray = [];
foreach($acNoWiseArray as $key=>&$value){
foreach($value['sum'] as $k=> $val){
$finalArray[$key]['new_sum'][] = (is_array($value)) ? array_sum($value['sum']) : $value['sum'][$k];
array_shift($value['sum']);
}
}
print_r($finalArray);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Array
(
[100001] => Array
(
[new_sum] => Array
(
[0] => 50134.06
[1] => 50134.06
[2] => -1121.05
[3] => -621.05
)
)
[100002] => Array
(
[new_sum] => Array
(
[0] => 0
)
)
[100003] => Array
(
[new_sum] => Array
(
[0] => 0
)
)
[100004] => Array
(
[new_sum] => Array
(
[0] => 20714
[1] => 0
)
)
)
preferences:
126.32 ms | 403 KiB | 121 Q