PHP array_rand无法正常工作

时间:2013-11-23 13:53:46

标签: php

我的随机函数无法正常工作。 我有一个随机化的数组。

数组包含三个值,但每次只选择两个。

$sterren = array("3","4","5");
$sterrenr = array_rand($sterren, 1);
$sterrenf = $sterren[$sterrenr[0]];
echo $sterrenf;

在输出echo $ sterrenf的循环期间,只显示值3和4,但没有值5。 任何想法?

2 个答案:

答案 0 :(得分:4)

当设置了可选的$num参数时,array_rand()会返回$num个随机密钥。在这种情况下,您要设置第二个参数1,这样您就可以获得一个密钥。您只需要回显相应的数组元素:

变化:

$sterrenf = $sterren[$sterrenr[0]];

为:

$sterrenf = $sterren[$sterrenr];

答案 1 :(得分:0)

非常容易看:

首先检索三个元素,将array_rand指向(〜,3)而不是(〜,1)。

第二个是随机的,因为你认为是在php中而不是由array_rand进行shuffle,因为array_rand会返回一个随机选择,但是会在它内部重新排列它们所以在它使用“shuffle()”之后对array_rand“result array”这样输出我的意思是:

$sterren = array("3","4","5");
$sterrenr = array_rand($sterren, 3);
shuffle($sterrenr);
$sterrenf = $sterren[$sterrenr[0]];
echo $sterrenf;