Php 如何使用多维数组计算数据
我有一个多维数组,其中包含以下数组Php 如何使用多维数组计算数据,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个多维数组,其中包含以下数组$menu\u choice\u in: array(5) { [0]=> array(1) { [0]=> array(1) { ["additional_price"]=> string(3) "1.2" } } [1]=> array(2) { [0]=> array(1) { ["additional_price"]=> string(3) "
$menu\u choice\u in
:
array(5) {
[0]=>
array(1) {
[0]=>
array(1) {
["additional_price"]=>
string(3) "1.2"
}
}
[1]=>
array(2) {
[0]=>
array(1) {
["additional_price"]=>
string(3) "1.2"
}
[1]=>
array(1) {
["additional_price"]=>
string(3) "1.2"
}
}
[2]=>
array(2) {
[0]=>
array(1) {
["additional_price"]=>
string(1) "1"
}
[1]=>
array(1) {
["additional_price"]=>
string(1) "2"
}
}
[3]=>
array(2) {
[0]=>
array(1) {
["additional_price"]=>
string(3) "2.1"
}
[1]=>
array(1) {
["additional_price"]=>
string(3) "2.8"
}
}
[4]=>
array(0) {
}
}
我想尝试求和附加价格
,并且应该将其返回到多维数组中,如下所示:
array(5) {
[0]=>
array(1) {
["additional_price"]=>
string(3) "1.2"
}
[1]=>
array(1) {
["additional_price"]=>
string(3) "2.4"
}
[2]=>
array(1) {
["additional_price"]=>
string(1) "3"
}
[3]=>
array(1) {
["additional_price"]=>
string(3) "4.9"
}
[4]=>
array(1) {
["additional_price"]=>
string(3) "0"
}
}
伙计们,你们能帮我吗?谢谢(:这应该可以
$sum_additional_price = array();
foreach ($menu_choice_in as $subarray) {
$additional_price = 0.0;
foreach ($subarray as $subsubarray) {
$additional_price += floatval($subsubarray['additional_price']);
$sum_additional_price[] = array('additional_price' => (string)$additional_price);
}
这应该有用
$sum_additional_price = array();
foreach ($menu_choice_in as $subarray) {
$additional_price = 0.0;
foreach ($subarray as $subsubarray) {
$additional_price += floatval($subsubarray['additional_price']);
$sum_additional_price[] = array('additional_price' => (string)$additional_price);
}
使用array\u walk
、array\u sum
和array\u column
(从PHP 5.5开始提供)函数的简短解决方案:
$result = [];
array_walk($menu_choice_in, function($v) use(&$result){
$prices = array_column($v, "additional_price");
$result[] = ["additional_price" => array_sum($prices)];
});
print_r($result);
使用array\u walk
、array\u sum
和array\u column
(从PHP 5.5开始提供)函数的简短解决方案:
$result = [];
array_walk($menu_choice_in, function($v) use(&$result){
$prices = array_column($v, "additional_price");
$result[] = ["additional_price" => array_sum($prices)];
});
print_r($result);
您卡在哪里?在数组中循环,并在附加价格
列上调用array\u sum()
。您卡在哪里?在数组中循环,并在附加价格
列上调用array\u sum()
。