php 我的数字格式有问题
I have a problem with my number format in php
我想让我的用户在 $_SESSION
变量中存储值,我有这个代码:
<?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
}
?>
当我 运行 它说:
Notice: A non well formed numeric value encountered in C:\Users\auser\Desktop\XAMPP\htdocs\Website1\atcform.php on line 76 and line 72
这两行是 number_format
所在的位置,我想消除这些错误,如果您需要查看更多代码,请告诉我。
这是当前图片:
谢谢!
看起来 number_format()
中的一个值不是数字类型。
尝试在 floatval()
中转换数值:
number_format(floatval($values["item_quantity"]) * floatval($values["item_price"]), 7);
或者更好的是,通过在循环开始时重新分配它们来确保值是浮点数,然后再对它们进行任何数值运算。
foreach ($_SESSION["shopping_cart"] as $keys => $values) {
$values["item_quantity"] = floatval($values["item_quantity"]);
$values["item_price"] = floatval($values["item_price"]);
....
我想让我的用户在 $_SESSION
变量中存储值,我有这个代码:
<?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
}
?>
当我 运行 它说:
Notice: A non well formed numeric value encountered in C:\Users\auser\Desktop\XAMPP\htdocs\Website1\atcform.php on line 76 and line 72
这两行是 number_format
所在的位置,我想消除这些错误,如果您需要查看更多代码,请告诉我。
这是当前图片:
谢谢!
看起来 number_format()
中的一个值不是数字类型。
尝试在 floatval()
中转换数值:
number_format(floatval($values["item_quantity"]) * floatval($values["item_price"]), 7);
或者更好的是,通过在循环开始时重新分配它们来确保值是浮点数,然后再对它们进行任何数值运算。
foreach ($_SESSION["shopping_cart"] as $keys => $values) {
$values["item_quantity"] = floatval($values["item_quantity"]);
$values["item_price"] = floatval($values["item_price"]);
....