输入 # 循环的数字文本


Input numeric text for # loops

我的目标是在文本框中放入一些数字文本,例如,如果我输入"3",它将出现:

你好 1

你好2

你好3

我的问题是它一直持续到循环完全完成(好 74 次),并且不遵守输入的值,并在我输入的 3 或某个数字处停止。

<div class="Container">
        <h2>Hello Page</h2><hr>
        <form>
            <p>Enter a number:</p>
            <input type="text" name="number">
            <input type="submit" value="Enter">
        </form>
        <?php
        $digit = $_GET['number'];
        if (empty($digit))
            $digit= "";
        elseif (!empty($digit)) {
            for ($digit= 1; $digit< 75; $digit++) {
                if ($digit== TRUE) {
                    echo 'Hello ' . $digit. '<br>';
                } elseif ($digit== $digit) {
                    break;
                }
            }
        }
        ?>
    </div>

您的$digit变量是最大值,请以这种方式使用它。在此更改您的 for 循环

for ($x= 1; $x <= $digit; $x++) {
    echo 'Hello ' . $x. '<br />';
}

然后你会得到你想要的。

主要问题是您使用$digit作为接收表单输入的变量,以及循环中的增量变量。 所以基本上你正在覆盖你输入的值。 所以基本上你需要使用 2 个变量,而不是 1。

方法 1。

for($i=0;$i<$_GET['number'];$i++) {
  echo "Hello {$i}<br/>";
}

方法 2.

$i = 0;
while($i < $_GET['number'])
  echo "Hello {$i}<br/>";
  $i++;
}

方法 3.

$i = 0;
while(true) {
  if($i >= $_GET['number']) break;
  echo "Hello {$i}<br/>";
  $i++;     
}

方法 4.

do {
  echo "Hello {$i}<br/>";
  $i++;
} while($i < $_GET['number']);