PHP根据输入字段中给出的数字显示多个星号

Joe*_*oey 2 php forms

我想要完成的是根据我输入的数字显示星号或星号().例如,如果我输入2,表单将显示2个星号(*).在我的代码中,我不认为字符串连接不是正确的方法,因为我没有得到我想要的结果.我使用for循环.如果你能告诉我如何以正确的方式编码或者在这种情况下for循环是错误的,我将不胜感激.这是迄今为止的代码.

    <?php

    $number = $star = '';

    if (isset($_POST['submit'])) {

    $number = (int)$_POST['number'];
    $star = '*';

    for ($i = 0; $i < $number; $i++) {
    $star .= $star;
    }
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Star</title>
    </head>
    <body>
    <!--Form-->
    <form id="form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    <label for="number">Enter number</label>
    <input id="number" type="number" name="number" size="3" maxlength="3" required>
    <input type="text" readonly="readonly" value="<?php echo $star; ?>">
    <input type="submit" name="submit" value="Display">
    </form>
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

Una*_*rai 6

str_repeat()怎么样

$star = str_repeat("*", $number);
Run Code Online (Sandbox Code Playgroud)

使用您当前的代码,您将获得更多星号(如@AeJey的评论中所述),因为您从一个开始*,您加入它自己获取**,然后再次加入自己获得****...