【问题标题】:Getting x amount of items from array从数组中获取 x 数量的项目
【发布时间】:2017-03-27 05:44:46
【问题描述】:

我在学校做这个任务,我要在 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;
    }   
?>

是否可以按照我的要求进行操作?

【问题讨论】:

  • 什么是 name="amount" 输入字段
  • 那是你输入你想要多少个名字的地方:)

标签: php html arrays forms


【解决方案1】:

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

    <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]; 
        }
    }


     ?>

【讨论】:

  • 谢谢,正是我想要的。我现在觉得有点傻,我没想过这个解决方案,当它看起来很简单时:-)
猜你喜欢
  • 1970-01-01
  • 2021-12-05
  • 2017-02-01
  • 2022-12-12
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 2017-05-16
  • 2018-08-14
相关资源
最近更新 更多