2014-01-16 22 views
-3

我有一个简单的表单和一个提交按钮。按下提交按钮后,获取值(它们将是数字)并计算sum。再次计算sum中存储的个位数的总和。如何从PHP中的表单中总结一组值?

更好的解释:1+2+3+4=10其中1,2,3和4是来自表单的用户输入。并且总和10必须被拆分并且再次总结为1+0=1。这将是我的最终结果。到目前为止,我完成了第一笔总额的任务。我不知道该怎么做才能显示我想成为最后一集的第二个结果。

<?php 
$a=''; 
$sum=''; 
$total=''; 
if (!isset($_POST['submit'])) { 

echo " "; 
} 
    else { 
     $a = array($_POST['textfield'],$_POST['textfield1'],$_POST['textfield2'],$_POST['textfield3'],$_POST['textfield4'],$_POST['textfield5'],$_POST['textfield6'],$_POST['textfield7'],$_POST['textfield8'],$_POST['textfield9'],$_POST['textfield10'],$_POST['textfield11'],); 
       for ($i=0; $i<=12; $i++) { 

     $sum= array_sum($a); 

     $total= ; 

     } 


    } 



     echo "sbora e: $total "; 
?> 
+0

你怎么在到达第二个总和? '1'和'0'从哪里来? – BenM

+0

以及他们应该从$总和 – user3194814

+0

是值,但是哪些值?你的意思是它应该把结果加在一起?如果答案> 99,该怎么办? – BenM

回答

1
$total = array_sum(str_split($sum)); 

使用Artefacto的method


在另一方面,

$a = array($_POST['textfield'],$_POST['textfield1'],$_POST['textfield2'],$_POST['textfield3'],$_POST['textfield4'],$_POST['textfield5'],$_POST['textfield6'],$_POST['textfield7'],$_POST['textfield8'],$_POST['textfield9'],$_POST['textfield10'],$_POST['textfield11'],); 

可以写成,

$a = array(); 
for ($i = 0; $i <= 11; $i++){ 
    if (isset($_POST["textfield_$i"])) 
    array_push($a, $_POST["textfield_$i"]); 
} 

如果字段的名称是:

textfield_0, textfield_1, textfield_2... 
+0

感谢那个我正在寻找的人 – user3194814

1

所以,你要建立你的第一个结果的交叉总和:

$result2 = 0; 
//cast integer to string 
$strTotal = (string) $total; 
//loop over "chars" and add them to your second result 
for($i=0; $i < strlen($strTotal); $i++) 
{ 
    $result2 += $strTotal{$i}; 
}