-5

私の目標は、テキストボックスに数値テキストを入力することです。たとえば、「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>
4

3 に答える 3

0

方法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']);
于 2013-01-27T18:12:29.510 に答える
0

主な問題は、フォーム入力を受け取る変数として、およびループ内のインクリメンター変数として$digitを使用していることです。つまり、基本的には入力した値を上書きしていることになります。したがって、基本的には1つではなく2つの変数を使用する必要があります。

于 2013-01-27T18:13:54.390 に答える
0

$digit変数が最大です。そのように使用してください。これでforループを変更します

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

その後、あなたはあなたが望むものを手に入れるでしょう。

于 2013-01-27T18:18:41.777 に答える