计算数组php的总和

时间:2014-04-19 17:53:01

标签: php

您好我正在制作一个将游戏作为一个项目销售的网站,但我在计算游戏价格总和时遇到了问题

我有这个循环显示添加到篮子里的游戏

cart.php

<?php
    $count = 0;
    while ($count < $numrow)
    {
    $row = $results -> fetch_assoc();
    extract($row);
    echo"<div>";
    echo"<div class='recommended_games'>";
    echo "<img src='images/".$gameIMG."' />";
    echo "</div>";
echo '<div class="price_tag">';
echo '<div class="price_tag" name="price" method="POST">£'.$gamePrice. '</div>';
echo'</div>';

echo '<div id="update_form"><form action="updatebasket.php" method="POST" name="updateform">';
echo '<select name="quantity" id="quantity" />';
echo      '<option value="1">1</option>';
echo      '<option value="2">2</option>';
echo      '<option value="3">3</option>';
echo      '<option value="4">4</option>';
echo      '<option value="5">5</option>';
echo      '</select>';
echo '<input type="hidden" value="'.$gameID.'" name="gameid" id="gameid" />';
echo '<input type="submit" value="update" />';
echo '</form>';
echo '<div class="quantity_update">';
echo '<form action="remove_item.php" method="POST">';
echo     '<input type="hidden" value="'.$gameID.'" name="gameid" id="gameid" />';
echo     '<input type="submit" value="Remove Item"  />';
echo '</form>';
echo '</div>';
echo '</div>';             



 echo"<img class='box1' src='Images/Grey-Banners.png' />";
 echo"</div>";
 $count = $count + 1;   

 }     
 echo '<div id="delete_all">';
 echo '<form action="delete_cart.php" method="POST">';
 echo    '<input id="hide_button" type="submit" value="Clear All"  />';
 $a=array($gamePrice);
 echo array_sum($a);
 echo '</form>';
 echo '</div>';
 ?>

这是我试图计算总价格的地方

$a=array($gamePrice);
echo array_sum($a);

1 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为$gamePrice永远不是一个数组(除非你没有提供所有代码)。在循环中,它被设置为一个新值,在循环之后只存储最后一个。

根据您的代码中的一些提示,我猜这是一个购物车,你正在循环推车。获得总数的简单方法是这样的:

$total = 0;
while( $itemsThatWeLoop){
    // Some code here
    $total+= $gamePrice*$quantity;
}

添加一个随产品价格递增的变量


解释while-only-last-value-saved:

$i=0;
while( $i<=10){
    $i= $i+1;
}
echo $i; 

将给出10.所有其他迭代$i都设置为新值。原始值未保存