【问题标题】:Using an array in PHP to echo numbers in a random order [duplicate]在PHP中使用数组以随机顺序回显数字[重复]
【发布时间】:2020-01-28 19:43:47
【问题描述】:

我编写了几个非常简单的 .php 页面,用户在其中选择要测试的时间表,然后回答问题。

目前他们只被问到该表的 12 个随机问题,因此可能会被问多次同一个问题,而不会被问到其他问题。我只是使用 1 到 12 之间的随机数生成来实现这一点。

我相信我可以将值 1-12 输入到数组中,并以随机顺序调用它们。

这听起来像是正确的前进方式吗?如果是这样,有人能把我推向正确的方向吗?我希望从中学习,就像我在寻找解决方案一样。

我之前在 mysqli 查询中使用过数组,但我不能说我对它们 100% 有信心。

$rand 变量用于确定提问的方式。

$question = 1;
$random = 0;
while ($question < 13)
{
      $random = rand(0,1);
      if ($random == 0)
      {
         $_SESSION['multiplier'.$question] = $_SESSION['table'];
         $_SESSION['multiplicand'.$question] = rand(1,12);
      }
      else
      {
         $_SESSION['multiplier'.$question] = rand(1,12);
         $_SESSION['multiplicand'.$question] = $_SESSION['table'];
      }
      $answer[$question] = $_SESSION['multiplier'.$question] * $_SESSION['multiplicand'.$question]; 
      $question++;
}

【问题讨论】:

标签: php arrays sorting random


【解决方案1】:

这有帮助吗?

<?php
   $questions = array("Question 1?", "Question 2?",  ... );
   $arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
   $newN = 0;
   shuffle($arr);

   foreach($arr as $n) {
      $newN = $n - 1;

      echo $questions[$newN];
   }
?>

我不会介绍所有更复杂的东西,但这是执行您所说的基本代码。

$questions,你应该把问题列表。

您可能不想echo 这个问题,但可能会调用一个函数,您可以这样做。

由于我本人不是专家,因此这里可能存在错误,或者我可能无法正确理解您的问题。无论哪种情况,请通知我。

【讨论】:

    猜你喜欢
    • 2013-09-30
    • 2011-12-08
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多