我在php中的数字格式有问题
我想允许我的用户在我在php中的数字格式有问题,php,html,session-variables,number-formatting,Php,Html,Session Variables,Number Formatting,我想允许我的用户在$\u会话变量中存储值,我有以下代码: <?php if(!empty($_SESSION["shopping_cart"])) { $total = 0; foreach($_SESSION["shopping_cart"] as $keys => $values) { ?> <tr> <td><?php echo $values["item_name"]; ?>&l
$\u会话
变量中存储值,我有以下代码:
<?php
if(!empty($_SESSION["shopping_cart"])) {
$total = 0;
foreach($_SESSION["shopping_cart"] as $keys => $values) { ?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td>฿<?php echo $values["item_price"]; ?></td>
<td><?php echo number_format($values["item_quantity"] *
$values["item_price"], 7); ?></td>
<td><a href="atcform.php?action=delete&id=<?php echo $values["item_id"]; ?>
"><span class="remove-span">Remove</span></a></td>
</tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);
}
?>
<tr>
<td colspan="3" align="right">Total</td>
<td align="right">$<?php echo number_format($total, 7); ?></td>
</tr>
<?php
}
?>
฿
全部的
$
当我运行它时,它会说:
注意:在第76行和第72行的C:\Users\auser\Desktop\XAMPP\htdocs\Website1\atcform.php中遇到格式不正确的数值
这两行是number\u格式
s的位置,我想消除这些错误,如果需要查看更多代码,请告诉我
以下是当前的图片:
谢谢大家! 看起来像
number\u format()
中的一个值不是数字类型
尝试在floatval()
中强制转换数值:
或者更好的方法是,在循环开始时重新分配值,以确保在对值执行任何数值操作之前这些值是浮动的
foreach ($_SESSION["shopping_cart"] as $keys => $values) {
$values["item_quantity"] = floatval($values["item_quantity"]);
$values["item_price"] = floatval($values["item_price"]);
....
var\u转储什么($value)代码>显示?这些值可能不是你认为的或应该的值。为了与所有人的方向一致,可能你的价格中包含货币。我不太明白,还有一件事我添加了一个屏幕截图,以便澄清。即使给出了解决方案,你也可以使用4个数字\格式选项进行检查。再见,谢谢!这解决了我的问题,现在所有的错误都消失了,下一步是配置十进制值,以便它们可以相乘
foreach ($_SESSION["shopping_cart"] as $keys => $values) {
$values["item_quantity"] = floatval($values["item_quantity"]);
$values["item_price"] = floatval($values["item_price"]);
....