我怎样才能按成人价格分组,然后得到成人人数的总和。这是我的数组波纹管:
Array
(
[0] => Array
(
[Reservation] => Array
(
[adult_price] => 2000
[adult_count] => 2
)
)
[1] => Array
(
[Reservation] => Array
(
[adult_price] => 2000
[adult_count] => 1
)
)
[2] => Array
(
[Reservation] => Array
(
[adult_price] => 300
[adult_count] => 1
)
)
)
如果 adult_price 与 adult_count 相加的时间相同,预期结果:
Array
(
[0] => Array
(
[Reservation] => Array
(
[adult_price] => 2000
[adult_count] => 4
)
)
[1] => Array
(
[Reservation] => Array
(
[adult_price] => 300
[adult_count] => 1
)
)
)
请帮帮我谢谢!
最佳答案
试试这个:
$grouped = [];
foreach ($array as $item) {
$item = $item["Reservation"];
$currentValue = isset($grouped[$item["adult_price"]]) ? $grouped[$item["adult_price"]] : 0;
$grouped[$item["adult_price"]] = $currentValue + $item["adult_count"];
}
$buildArray = [];
foreach ($grouped as $price => $count) {
$buildArray[] = ["Reservation" => ["adult_price" => $price, "adult_count" => $count]];
}
print_r($buildArray);
关于PHP Group 数组值然后求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801595/