在foreach中获得的金额

时间:2017-11-30 17:46:00

标签: php mysqli

我正在做类似于购物车的东西,在数据库中我有价格和数量,然后我得到的数量乘以数量,我如何添加所有乘法的结果?

mvn clean package -Pdist,embedded-hbase-solr

假设我有5个产品,那么我有5个小计,如何添加它们以获得总数?

3 个答案:

答案 0 :(得分:1)

您希望总数累积在所有循环上,因此您可以在循环外定义它并每次都添加它:

$total = 0;
foreach ($products as $product) {
    $subtotal = $product['price']*$product['quantity'];
    $total += $subtotal;
}

echo $total;

答案 1 :(得分:1)

<?php
$total=0;
foreach ($products as $product) {
    echo $product['price'].'<br>';
    echo $product['quantity'].'<br>';
    $subtotal = $product['price']*$product['quantity'];
    echo $subtotal.'<br>';

    $total=$total+$subtotal; //add here echo after loop ends
}
echo $total;
?>

答案 2 :(得分:0)

如果您想避免循环,可以使用一些数组函数来完成所有操作 我使用array_column来获取分离数组的价格和数量 然后我使用array_map将值相互相乘,并array_sum将相乘的值相加。

$total = array_sum(array_map(function($x, $y) { return $x * $y; },
               array_column($products, "price"), array_column($products, "quantity")));

或者,如果你不介意拥有或多或少不可读的代码,这个内衬也会做同样的事情。

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities


desired = DesiredCapabilities.CHROME
desired["loggingPrefs"] = {"browser":"ALL"}
driver = webdriver.Chrome(desired_capabilities=desired)