【发布时间】:2010-07-07 20:29:40
【问题描述】:
在我拥有的表格中,消费者可以选择将血液测试、视力测试或两者(组合)添加到多个参与者的帐户中。这一切都是一次性完成的。根据所做的选择,我可以选择“选择”并回显相应的价格,但最难构建脚本来“添加或求和”所有变量。
我知道 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;
?>
感谢大家的帮助!
【问题讨论】: