从数组中获取x个项目数量

时间:2016-11-13 13:26:35

标签: php html arrays forms

我在学校里做这个任务,我在PHP中用数组和循环做些什么。

到目前为止,我所做的就是制作这段代码,使用一个单独的文本文件创建一个名称的数组,并从该数组中选择一个随机名称。

我现在要做的就是显示x个随机名称。可以在输入字段中选择名称的数量,最好使用for或while循环(这些是我所知道的那些)。

这是我的代码(不要认为文本文件是必要的。如果是,请告诉我):

<form method="POST">
    How many names do you need?  
   <input type="number" name="amount" min="1" max="28"><br><br>
   <input type="submit" name="proceed" value="Get name(s)">
</form>

<?php       
    $text = file_get_contents("names2t.txt"); 
    $Array = explode("\n", $text); 
    $randNameNum = array_rand($Array); 
    $randPhrase = $Array[$randNameNum]; 

    if (isset($_POST["proceed"])){
        echo $randPhrase;
    }   
?>

有可能做我要问的事吗?

1 个答案:

答案 0 :(得分:2)

只需在表单上添加另一个字段并在其上循环:

    <form method="POST">
        How many names do you need?  <input type="number" name="amount" min="1" max="28"><br>
        How many times? <input type="number" name="repeat-count"><br>
        <input type="submit" name="proceed" value="Get name(s)">
     </form>

    <?php       

    if(isset($_POST['proceed'])) {
        for($i = 0; $i < $_POST['repeat-count']; $i++) {
            $text = file_get_contents("names2t.txt"); 
            $Array = explode("\n", $text); 
            $randNameNum = array_rand($Array); 
            echo $Array[$randNameNum]; 
        }
    }


     ?>