【问题标题】:Picking a random string from an array从数组中选择一个随机字符串
【发布时间】:2014-04-14 17:52:37
【问题描述】:

试图让这段代码工作。显示我正在尝试做什么以及缺少什么可能会更容易:

<?php
    $array=array(
        "something",
        "something else"
    );
    /*pick a random entry in the array and store it as $output*/;
    if(strpos($output,"else") !== false){
        //do stuff;
    }
    echo "<div>";
    echo $output
    echo "</div>"
?>

如您所见,我在尝试将随机条目存储在 $output 中时遇到问题。我要做的是从数组中选择一个随机条目,如果满足条件,对结果运行 strpos 以执行其他操作,然后在 div 之间输出相同的随机条目。

编辑:如果不清楚,用/* 和*/ 注释的行应该是“填充空白”行,而不是“此注释指的是下面的代码行”注释.

【问题讨论】:

    标签: php html random strpos


    【解决方案1】:

    使用array_rand() 获取随机条目。

    $output = $array[array_rand($array)];
    

    【讨论】:

    • 如果在两个不同的地方调用 $output 会不会导致不同的随机结果?
    • @Hiigaran:不。 array_rand() 不会在您每次 echo 时被调用。证明:eval.in/136389
    • 那我试试看效果如何。
    【解决方案2】:

    生成一个小于数组长度 0 到 1 之间的随机数,将其用作数组索引以从数组中获取随机项。

    <?php
    $output = $array[rand(0, count($array)-1];
    

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 2020-11-01
      • 2011-11-13
      • 2011-09-22
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2012-02-03
      相关资源
      最近更新 更多