【问题标题】:Simple PHP random array [duplicate]简单的PHP随机数组[重复]
【发布时间】:2011-05-13 13:57:18
【问题描述】:

我有一个像这样的简单数组:

$input = array('Line1', 'Line2', 'Line3');

并且想要随机回显其中一个值。我以前做过,但不记得我是怎么做的了,array_rand 的所有例子似乎比我需要的更复杂。

有什么可以帮忙的吗?谢谢

【问题讨论】:

    标签: php arrays


    【解决方案1】:
    echo $input[array_rand($input)];
    

    array_rand() 返回键,所以我们需要将它插回$input 以获取值。

    【讨论】:

    • 我们如何只显示一个随机的结果?
    【解决方案2】:

    复杂吗? 我们在同一个manual page 上吗?

    $rand_key = array_rand($input, 1);
    

    【讨论】:

    • 当我想要的只是一些简单的东西时,没有 php.net 上的示例超出了我想要的。
    • @Cameron 的意图:这是数组键。使用$input[$rand_key] 访问元素
    • 如果0是被选中的随机密钥,那么就是被选中的随机密钥。那是怎么回事?
    • 是否可以确保每次显示不同的值?所以几乎要旋转它们,但顺序是随机的。
    【解决方案3】:

    你可以使用 shuffle() 然后只选择第一个元素。

    shuffle($input);
    echo $input[0];
    

    但我会使用 array_rand() 方法。

    【讨论】:

      【解决方案4】:

      array_rand 将帮助您选择数组的随机键。从那里你可以得到价值。

      $randKey = array_rand($input);
      echo $input[$randKey];
      

      【讨论】:

        【解决方案5】:

        只有一个函数:array_rand()

        echo $input[array_rand($input,1)];
        

        【讨论】:

        • 上面 waiwai933 的示例没有 1,但输出与您的代码相同。 1 是做什么的?
        • @Cameron 查看手册。 If you are picking only one entry, array_rand() returns the key for a random entry. Otherwise, it returns an array of keys for the random entries. This is done so that you can pick random keys as well as values out of the array.
        • 第二个参数的1是默认值,可以省略。
        猜你喜欢
        • 1970-01-01
        • 2014-05-18
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 2020-01-05
        相关资源
        最近更新 更多