php - PHP试图从数组中计算变量总数
问题描述
因此,我正在做与之前在 JScript 中为作业所做的相同的购物清单,但现在在 PHP 中。当我尝试计算总数时,它给了我一个奇怪的数字。
$result 是产品价格乘以数量的计算结果(waarde & aantal,它的荷兰语)。
所以当我做 $total += $result;
然后我回应,我得到了一个非常奇怪的结果。
对我来说,它看起来并不完全符合所有结果。我尝试使用 $i 索引。但这不起作用。我错过了什么?
(对 PHP 非常陌生,刚学了一点 JavaScript 的基础知识)
预期结果是表中显示的所有总数相加得出总数:15.76
现在的结果是 31.984.85.98,这个神奇的数字是什么?可能是我对数字格式做错了,现在也在调查。(像我一样共享代码也是正常的吗?显然它不是真正的 PHP,我猜是因为它是服务器端的东西)我有一个原始 JavaScript 版本的 CodePen:https ://codepen.io /3lly/pen/oNxaPKg也许是为了清楚地看到,你可以明白我的意思。所有总列单元格的总数。
table {
margin-top: 20px;
display: inline-block;
}
th, td , input {
border: 2px solid #FFB000;
padding: 2px;
color: black;
}
body {
text-align: center;
}
h1 {
color: #FFB000;
font-family: impact;
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
p {
color: white;
}
div {
display: inline-block;
}
#add {
display: inline-block;
padding: 10px 20px;
background: orange;
box-shadow: -3px 3px black, -2px 2px black, -1px 1px black;
border: 1px solid orange;
}
#add:hover {
background: green;
color: white;
}
input[type="text"], input[type="number"] {
background-color: skyblue;
}
input[type="number"]:hover {
background-color: black;
}
#totaal {
border: 2px solid #FFB000;
background-color: #282828;
padding: 5px;
color: skyblue;
}
#totaal:hover{
background-color: green;
color: white;
}
<head>
<link rel="stylesheet" href="style.css">
<title>Boodschappenlijst</title>
</head>
<body>
<h1> Boodschappenlijst </h1>
<div id="container"></div>
<table>
<tr>
<?php
$headerTexts = ['Name', 'Prijs', 'Aantal', 'Totaal'];
for($i=0;$i<count($headerTexts);$i++) {
echo "<th>" . $headerTexts[$i] . "</th>";
}
?>
</tr>
<?php
for($i=0;$i<count($products);$i++) {
//result calculations
$total = 0;
$result = number_format($products[$i]['waarde'] * $products[$i]['aantal'],2);
$total += $result;
echo $total;
//echo "<pre>" . is_int($products['waarde']) . "</pre>";
//Table Rows
echo "<tr>";
echo "<td>" . $products[$i]['omschrijving'] . "</td>" .
"<td>" . $products[$i]['waarde'] . "</td>" .
"<td>" . $products[$i]['aantal'] . "</td>" .
"<td>" . $result . "</td>";
echo "</tr>";
}
?>
</tr>
</table>
<p>Naam</p>
<form>
<input type="text" name="item" id="naam" /><br />
<p>Aantal</p>
<input type="text" name="quantity" id="qty" /><br />
<p>Prijs</p>
<input type="text" name="price" id="prijs" /><br/><br />
<input type="button" value="Add Product" onclick="updateTable()" id="add"><br /><br />
</form>
<div id="totaal"></div>
<!-- <script src="script.js"></script>-->
</body>
</html>
解决方案
所以我将每个产品的总计算结果推送到我以前没有做的数组中,如下所示:
$products[$i]['total'] = $products[$i]['waarde'] * $products[$i]['aantal'];
接下来我做了这样的计算:
$total += $products[$i]['total'];
循环内。并且修复了它:D 它非常简单!