我有阵列,我需要得到数量*价格的总和。但是第三级的数组键是不同的。
我使用这个PHP代码,但我只能拿价格&第一项的数量[' 506-p1-8_p2-_p3 - ']
$quantity = $elements['1af7e792-bcff-4a6c-9bdb-dd5023b0251a']['items']['506-p1-8_p2-_p3-'][quantity];
$price = $elements['1af7e792-bcff-4a6c-9bdb-dd5023b0251a']['items']['506-p1-8_p2-_p3-'][price];
$summ = $price*$quantity;
如何解析所有级别以获得Summ =(价格*数量)
感谢所有能帮助我的人
Array
(
[1af7e792-bcff-4a6c-9bdb-dd5023b0251a] => Array
(
[is_advance] => 1
[items] => Array
(
[506-p1-8_p2-_p3-] => Array
(
[hash] => 506-p1-8_p2-_p3-
[sku] => 501
[itemId] => 506
[quantity] => 6
[price] => 80.75
[currency] => UAH
[priceDesc] =>
[priceParams] => Array
(
[u0420u0430u0437u043cu0435u0440] => 8
)
[name] => qwerty
)
[498-p1-6_p2-_p3-] => Array
(
[hash] => 498-p1-6_p2-_p3-
[sku] => 498
[itemId] => 498
[quantity] => 5
[price] => 500
[currency] => UAH
[priceDesc] =>
[priceParams] => Array
(
[u0420u0430u0437u043cu0435u0440] => 6
)
[name] => qwerty
)
)
)
)
答案 0 :(得分:0)
很难说首先如何生成数组。因此,仅仅关闭您发布的代码,这应该总结数组中包含的每个项目的总数。
$items = $elements['1af7e792-bcff-4a6c-9bdb-dd5023b0251a']['items'];
$sum = 0;
foreach($items as $item) {
$sum += $item['quantity'] * $item['price'];
}
答案 1 :(得分:0)
从灵活性的角度来看,您希望代码尽可能便携。我认为您的ID不会始终为1af7e792-bcff-4a6c-9bdb-dd5023b0251a
,因此您需要循环查看返回的数据。 I don't know how you get the data, that's up to you.
功能
所以像这样,应该收集你需要的数据并创建一个数组:
$d = array();
foreach ($data as $id => $item) {
foreach ($item as $key => $values) {
$d[$id][$key]['sum'] = $values['price'] * $values['quantity'];
}
}
print_r($d);
注意: 以上代码未经测试