[英]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.