【问题标题】:How to randomly display 4 paragraphs (out of a set of 21)? [closed]如何随机显示 4 个段落(一组 21 个)? [关闭]
【发布时间】:2013-10-17 03:01:07
【问题描述】:

我的网站上有一个常见问题解答页面,我想在其他一些页面上包含一个迷你版。 常见问题解答包括 21 个问题和答案,我需要一种方法,在 PHP 中,它可以随机选择其中 4 个 QA 以在每次页面加载时显示。

我根据这篇文章查看了如何使用 switch():http://php.about.com/od/finishedphp1/p/random_quote.htm,但我需要一些更复杂的东西,因为我不希望每次显示的 4 中都有任何重复项。最后一件事,它随机提取的文本将包含 html,而不仅仅是原始文本。

我非常感谢任何帮助。谢谢。

例子:

我使用示例文本来说明我的意思:

   <? 
    //Chooses a random number 
    $num = Rand (1,2); 
    //Based on the random number, gives a quote 
    switch ($num)
    {
    case 1:
    echo "What does such and such mean?<br>It means this and that.";
    break;
    case 2:
    echo "How does this and that work?<br>It works via such and such.";
    break;

    }
    ?> 

但这只会随机显示 1 每次。我希望随机显示 4 个,但 4 个都不重复,因此我不只是复制和粘贴上面的代码 4 次。

【问题讨论】:

  • this, this.... 上面有一个搜索字段。

标签: php


【解决方案1】:

将每个段落加载到数组元素中。 Shuffle数组,然后输出前4个。

【讨论】:

    【解决方案2】:

    获取每个段落并将其添加到数组中。 从数组中选择并删除一个随机条目(随机 0 到 array.length)

    一旦您选择它,请务必从数组中删除它。

    再重复选择和删除步骤 3 次,您将得到与原始段落集没有重复的段落。

    注意:在效率方面,最好将段落编号之类的内容放入数组中并选择它们,然后将段落编号转换回原始段落。

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多