我有一个数组。我试图像这样打印数组的值
print_r($travellers_data['variation']);
所以它向我展示了这样的数据。
Array
(
[adults_travelers] => 1
[child_travelers] => 2
[infant_travelers] => 4
)
Array
(
[adults_travelers] => 12
[child_travelers] => 11
[infant_travelers] => 14
)
在这里你可以看到有两个包含不同年龄段旅行者的数组。 现在我想得到阵列块的总旅行者总和。所以结果应该是这样的
total_travellers = adults_travelers + child_travelers + infant_travelers;
total_travellers = 13 + 13 + 18 = 44;
所以有人告诉我如何获得两个数组块的总和。任何帮助和建议都会非常明显。感谢
答案 0 :(得分:0)
由于$travellers_data['variation']
是一个数组数组,我们需要遍历它,然后对各个数组求和并将它们加到我们的总数中。 php有一个函数array_sum
,它可以方便地对数组的元素进行总计,并且只需查看关联数组的值即可。我们可以将它们组合成一个非常简单的解决方案:
$sum = 0;
foreach($travellers_data['variation'] as $arr)
{
$sum += array_sum($arr);
}
这假设您的数组仅包含问题中显示的旅行者信息,而不包含其他一些值
答案 1 :(得分:0)
$travelers = [
['adults_travelers' => 1, 'child_travelers' => 2, 'infant_travelers' => 4],
['adults_travelers' => 12, 'child_travelers' => 11, 'infant_travelers' => 14]
];
$sum = array_reduce($travelers, function ($sum, array $array) {
return $sum + array_sum($array);
});
答案 2 :(得分:0)
感谢您的回答。我就像这样做了我自己
$total_persons = array();
foreach($travellers_datas as $travellers_data) {
$adult_travellers = $travellers_data['variation']['adults_travelers'];
$child_travelers = $travellers_data['variation']['child_travelers'];
$infant_travelers = $travellers_data['variation']['infant_travelers'];
$total_travellers = $adult_travellers + $child_travelers + $infant_travelers;
array_push($total_persons, $total_travellers);
}
$total_travellers_person = array_sum($total_persons);