我有一个大表单,当提交到数据库时,它需要拆分为奇数和偶数(基于他们的HTML名称),所以我可以对它们进行计算。
总共有120个HTML Input
个字段,所以60个字段和60个字段。
迭代它们的for loops
是:
$h=0; $o=0;
for($i=1; $i<=119; $i+=2)
{
$h = $h + Input::get($i);
}
for($i=2; $i<=120; $i+=2)
{
$o = $o + Input::get($i);
}
我发现循环的奇数正常工作,但即使第二个循环从2开始,它也会跳过添加Input::get($i);
并转移到第4个输入。
如果我回显odd
for循环,则输出(所有输入值均为1):
for($i=2; $i<=120; $i+=2)
{
echo $i;
echo (",");
$o = $o + Input::get($i);
echo (Input::get($i));
}
2,14,16,18,110,112,114,116,118,
正如您所看到的,它没有从第二个输入字段中获取“1”值。
任何帮助,为什么会这样做将不胜感激。
答案 0 :(得分:1)
你不需要两个循环来完成这个,使用模数学函数来确定在除以2(表示偶数)时是否有0的余数,试试这个:
for($i=0; $i<=120; $i++)
{
if($i%2 == 0) //even
$o = $o + Input::get($i);
else //odd
$h = $h + Input::get($i);
}
答案 1 :(得分:0)
你应该制作一个从1到120迭代的循环。然后使用模数运算符($ a%$ b)测试计数器是否为奇数/偶数。
即。如果$ a%2 = 0则该值为偶数,否则为奇数。