0

我正在做一个任务来复制一个页面,在该页面中您将一个数字输入到一个文本框中,然后循环迭代该次数(在 0 到 5 之间)。IE,

输入:5

输出:
迭代为 1。
迭代为 2。
迭代为 3。
迭代为 4。
迭代为 5。

我正在使用这个:

<?php
    $rows = $_GET['rows'];
    for ($rows = 1; $rows <= 5; $rows++) {
        echo "Iteration is $rows <br />";
    }
?>

我的表格如下所示:

<form action="" method="get">
   <p>Iterations:
       <input type="text" name="rows">
       <input type="submit" value="Loop">
   </p>
</form>

我正在使用的代码只返回列表 1-5 我输入的任何数字。

4

5 回答 5

3

您正在重置循环中的变量。对于循环,您必须使用不同的变量,然后将最大限制设置为您的$rows变量。

<?php
   $rows = intval($_GET['rows']);   // Make sure its an integer
   for ( $i = 1; $i <= $rows; $i++ ) {
      echo "Iteration is $i <br />";
   }
?>

学分:$rows在从@nurakantech 对同一问题的回答中获得灵感后,在此答案中强制为整数。

于 2013-10-14T03:59:36.367 回答
3
<?php
$rows = $_GET['rows'];
for($i = 1; $i <= (int)$rows; $i++){
   echo "Iteration $i.<br>";
}
于 2013-10-14T04:03:59.953 回答
1

尝试这个:

for ($i = 1; $i <= $rows; $i++) {
    // $rows[$i] <-- This holds your $rows data
}
于 2013-10-14T04:00:27.670 回答
0

您正在覆盖$rows循环中的值。你需要做这样的事情:

<?php
$rows = $_GET['rows'];
for ($x = 0; $x < $rows; $x++) {
  echo "Iteration is $x <br />";
}
?>
于 2013-10-14T04:01:06.533 回答
0

在您的循环中使用另一个变量名称,例如:

 for ($i = 1; $i <= $rows; $i++){
   //manage stuff here
 }
于 2013-10-14T04:02:02.390 回答