Neden doğru GrandTotal Gösterisi $ değil mi?

2 Cevap

Let's say $_SESSION['totalprice'] is 1200. However echo $totalprice; outputs 1200 and echo $grandtotal; outputs 66. Grandtotal should be 1265.

Ben burada yanlış ne yapıyorum?

$totalprice = $_SESSION['totalprice'];
$shipping= 65;

if (count($_SESSION['cart'])){
 $count = 1;
 foreach ($_SESSION['cart'] as $PID => $row){ 
  echo "<p class='padnmgn'><b>". $row['count'] . " " . $row['name'] . " @ " . $row['price']."</b></p><br/>\n";
  echo "<input type='hidden' name='item_name_".$count."' value='".$row['name']."'/>\n";
  echo "<input type='hidden' name='item_quantity_".$count."' value='".$row['count']."'/>\n";
  echo "<input type='hidden' name='item_price_".$count."' value='".$row['price']."'/>\n";
  echo "<input type='hidden' name='item_currency_".$count."' value='NOK'/>\n";
  echo "<input type='hidden' name='ship_method_name_".$count."' value='Posten'/>\n";
  echo "<input type='hidden' name='ship_method_price_".$count."' value='65.00'/>\n";

 }
}
$grandtotal = $totalprice + $shipping;

echo $totalprice;
echo $grandtotal;

2 Cevap

Bu deneyin:

$grandtotal = ((int) $totalprice) + $shipping;

Eğer değer içindeki $totalprice aslında bir tam sayıdır emin ve size ek olsun önce değiştirilmiş değil emin misin? var_dump($totalprice); Eğer ek yapmak hemen önce, gerçekten bu noktada ne değeri görmek için yapıyor deneyin.

Beklediğiniz değere sahip ise, o zaman düzgün çalışması için hesaplama için açıkça bir tamsayı döküm gerekebilir, bu yüzden bir şey gibi (int)$totalprice + $shipping; vb

Örneğin,

<?php
    $totalprice = "1200blahblah";
    $shipping = 65;
    $grandtotal = (int)$totalprice + $shipping;
    echo $grandtotal; // still prints "1265"
?>