在我的表格中,消费者可以选择将血液测试,视力测试或两者(组合)添加到几个登记者的账户中。这一切都是一次完成的。根据所做出的选择,我可以选择“选择”并回显相应的价格,但我最难建立一个脚本来“添加或加总”所有变量。
我知道array_sum()功能,但要么a)没有正确使用它,b)不适用于我的情况。
我的代码示例是:
<tr>
<td>Test(s) Ordered:</td>
<td>
<?php
if($_SESSION['F'.$j.'Tests'] == "Blood") {
$prem = "62.95";
echo "Blood Test - $".$prem." per month";
}
elseif($_SESSION['F'.$j.'Tests'] == "Vision") {
$prem = "60.00";
echo "Vision Test - $".$prem." per month";
}
elseif($_SESSION['F'.$j.'Tests'] == "BVCombo") {
$prem = "122.95";
echo "Blood and Vision - $".$prem." per month";
}
?>
</td>
其中$ j是上面FOR循环中确定的登记者的编号。这个$ j变量的范围从1到16,我将永远不知道有多少登记者,直到登记完成的人与人之间。
最终,我正在尝试完成以下代码,但无法确定如何执行此操作:
$ sum = $ prem1 + $ prem2 + $ prem3 + $ prem4
其中$ prem1和$ prem2与特定个体相关。每个人只有一个保费总额,所以$ prem1可能等于62.95美元,60.00美元或122.95美元,等等继续参加者。
**
** 我首先创建了$ total = array();我的整个表单的FOR循环之外的变量。然后:
<?php
if($_SESSION['F'.$j.'Tests'] == "Blood") {
$prem = "62.95";
echo "Blood Test - $".$prem." per month";
$total[] = $prem;
}
elseif($_SESSION['F'.$j.'Tests'] == "Vision") {
$prem = "60.00";
echo "Vision Test - $".$prem." per month";
$total[] = $prem;
}
elseif($_SESSION['F'.$j.'Tests'] == "BVCombo") {
$prem = "122.95";
echo "Blood and Vision - $".$prem." per month";
$total[] = $prem;
}
?>
最后,完全在循环之外:
<?php
}
$summ = array_sum($total);
$premiumtotal = number_format($summ,2,'.','');
echo "$".$premiumtotal;
?>
感谢您的帮助!
答案 0 :(得分:3)
要使用array_sum
,您需要一个数组。将所有宗地存储在一个数组中,如下所示:
$prem = array();
while (cond()) {
//...
if (cond2())
$prem[] = 60;
//...
}
$total = array_sum($prem);
我希望你明白了。
答案 1 :(得分:1)
你可以这样做:
<tr>
<td>Test(s) Ordered:</td>
<td>
<?php
if($_SESSION['F'.$j.'Tests'] == "Blood") {
$prem = "62.95";
$total += $prem;
echo "Blood Test - $".$prem." per month";
}
elseif($_SESSION['F'.$j.'Tests'] == "Vision") {
$prem = "60.00";
$total += $prem;
echo "Vision Test - $".$prem." per month";
}
elseif($_SESSION['F'.$j.'Tests'] == "BVCombo") {
$prem = "122.95";
$total += $prem;
echo "Blood and Vision - $".$prem." per month";
}
?>
</td>
编辑:我误解了这个问题,看到你想要所有登记者的总数。代码已更改为执行此操作。