我在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"]);
....