[英]Merge some array datas depending a range with PHP
我有这个数组:
Array
(
[0] => Array
(
[Sum] => 125.00
[PastDays] => 530
)
[1] => Array
(
[Sum] => 123.00
[PastDays] => 110
)
[2] => Array
(
[Sum] => 500.00
[PastDays] => 5
)
[3] => Array
(
[Sum] => 500.00
[PastDays] => 1
)
)
我将合并这些数据以在基于PAY_Nb_Days
数组上具有此类型:
PAY_Nb_Days
在0
到30
之间。 PAY_Nb_Days
在31
到60
之间。 PAY_Nb_Days
在61
到90
之间。 PAY_Nb_Days
在91
到120
之间。 PAY_Nb_Days
高于121
。 所以,像这样:
Array
(
['Between 0 and 30'] => Array
(
[Sum] => 1000.00
)
['Between 31 and 60'] => Array
(
[Sum] => 0.00
)
['Between 61 and 90'] => Array
(
[Sum] => 0.00
)
['Between 91 and 120'] => Array
(
[Sum] => 123.00
)
['Hight than 121'] => Array
(
[Sum] => 125.00
)
)
您能告诉我从哪里开始吗?
这是我尝试的:
foreach($items as $item) {
if($item[PastDays] <= 30) { $sum_0_to_30 += $item['Sum']; }
if($item[PastDays] >= 31 && $item[PastDays] <= 60) { $sum_31_to_60 += $item['Sum']; }
if($item[PastDays] >= 61 && $item[PastDays] <= 90) { $sum_61_to_90 += $item['Sum']; }
if($item[PastDays] >= 91 && $item[PastDays] <= 120) { $sum_91_to_120 += $item['Sum']; }
if($item[PastDays] >= 121) { $sum_121 += $item['Sum']; }
}
谢谢。
$arr = [
'Between 0 and 30' => ['Sum' => 0],
'Between 31 and 60' => ['Sum' => 0],
'Between 61 and 90' => ['Sum' => 0],
'Between 91 and 120' => ['Sum' => 0],
'Hight than 121' => ['Sum' => 0],
];
foreach($items as $item){
switch($item['PastDays']){
case ($item['PastDays'] < 31):
$arr['Between 0 and 30']['Sum'] += $item['Sum'];
break;
case ($item['PastDays'] < 61):
$arr['Between 31 and 60']['Sum'] += $item['Sum'];
break;
case ($item['PastDays'] < 91):
$arr['Between 61 and 90']['Sum'] += $item['Sum'];
break;
case ($item['PastDays'] < 121):
$arr['Between 91 and 120']['Sum'] += $item['Sum'];
break;
default:
$arr['Hight than 121']['Sum'] += $item['Sum'];
break;
}
}
$arr
将包含您需要的信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.