简单的PHP随机数组

7

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

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

我想随机输出一个值。我以前做过这个,但是不记得具体怎么做了,而且所有的array_rand示例都比我需要的要复杂。

有人能帮忙吗?谢谢。

5个回答

18
echo $input[array_rand($input)];

array_rand() 返回的是键,因此我们需要将其插入到 $input 中以获取值。


我们如何展示一个随机的结果,而且只显示一个? - thevoipman

4

复杂?我们在同一个手册页面上吗?

$rand_key = array_rand($input, 1);

1
没有我想要的简单东西,php.net上的示例都太过头了。 - Cameron
@Cameron 这是预期的:这就是数组键。使用 $input[$rand_key] 访问元素。 - Pekka
如果选择的随机密钥是0,则它就是选择的随机密钥。这有什么问题吗? - KingCrunch
有没有可能确保每次显示不同的值?所以几乎是在随机顺序中旋转它们。 - Cameron

3
您可以使用shuffle()函数,然后选择第一个元素。
shuffle($input);
echo $input[0];

但我会选择使用array_rand()方法。


2
< p > array_rand 函数可以帮助您从数组中随机选择一个键。然后,您就可以获取该键对应的值。
$randKey = array_rand($input);
echo $input[$randKey];

2

Just a single function: array_rand().

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

waiwai933的上面的例子没有1,但输出与您的代码相同。1是什么作用? - Cameron
@Cameron 可以查看手册。如果你只需要选择一个条目,array_rand() 返回一个随机条目的键。否则,它返回包含随机条目键的数组。这是为了让你可以从数组中随机选择键和值。 - Pekka
第二个参数中的1是默认值,因此您可以省略它。 - KingCrunch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接