在PHP中计算输入值

时间:2012-04-18 10:37:38

标签: php

我正在学习决赛,我遇到了这个问题:

  

编写一个php脚本,从输入框中读取一个正整数n,并计算1 + 2 + - n的值......

我已经尝试了很长时间并做了充分的研究,但到目前为止我还没能完成这个:

<html>
  <head>
    <title>
     </title>
 </head>
 <body>
  <form action="inputnum.php" method="post" >
   num:<input type="text" name="num" size ="5"/>
  <input type = "submit" value = "Submit Order" />

       <?php
        $num=$_POST["num"];
        if ($num==0)$num=="";
         for($i=0; $i<=$num; $i++){
         }
            echo"($num+$i)";
       ?>

  </form>

 

任何人都可以帮助我吗? 提前谢谢!

5 个答案:

答案 0 :(得分:3)

<?php
  $num   = (int)$_POST["num"];
  $total = 0;

  for ($i=0; $i <= $num; $i++) {
     $total = $total + $i;
  }

  echo $total;
?>

如果您的代码希望处理数字,最好通过发布值的(int)进行显式转换

答案 1 :(得分:2)

你混淆了paranthesis,你还混合了===。无论如何,存在一种更快的计算这种总和的方法,即n * (n + 1) / 2

答案 2 :(得分:0)

<?php
    $num=$_POST["num"];
    if ($num==0)$num="";
    else
    {
     for($i=0; $i<=$num; $i++){
       $sum=$sum+$i;
       }
    }
    echo $sum;
   ?>

更准确地说,在计算总和之前,必须先检查是否设置了提交按钮。

答案 3 :(得分:0)

首先,这个if ($num==0)$num=="";是错误的。 $num="";应该是它。无论如何,这会打破你的if - 声明。

我建议将for - 循环放在if - 语句中,并将条件更改为$num>0

$i从1开始,而不是0。

答案 4 :(得分:0)

你可以使用这样的东西(没有经过测试,这里没有PHP解释器):

<html>
    <head>
        <title></title>
    </head>
    <body>

        <?php

            $num = (int)$_POST['num'];

            if(!$num) {

        ?>

        <form action="inputnum.php" method="post" >

            num: <input type="text" name="num" size ="5"/>
            <input type = "submit" value = "Submit Order" />

        </form>

        <?php

            } else {

                $total = 0;
                for($i=1; $i<=$num; $i++){

                    $total = $total + $i;

                }
                echo $num;

            }

        ?>

    </body>
</html>