php - 如何随机显示数组中的值

时间:2016-09-26 03:15:02

标签: php

我有一个包含值的数组,

$member[1] = "John";
$member[2] = "Mary";
$member[3] = "Berry";
$member[4] = "James";
$member[5] = "Lincoln";

我可以使用

随机显示它们
echo $member[rand(1,5)];
echo $member[rand(1,5)];
echo $member[rand(1,5)];
echo $member[rand(1,5)];
echo $member[rand(1,5)];

但是这样,会员可以出现两次甚至更多! 只有一次随机展示它们的正确和专业方法是什么?

3 个答案:

答案 0 :(得分:1)

如果您想以随机顺序使用整个数组,请使用shuffle

shuffle($member);

foreach($member as $memberName) {
    echo $memberName;
}

如果要随机使用array_rand从数组中选择一个或多个元素。

假设您要随机选择数组中的3个成员,并保证您永远不会选择相同的数组值两次。

foreach(array_rand($member, 3) as $key) {
    echo $member[$key];
}

答案 1 :(得分:1)

使用shuffle()

$shuffle($member);

http://php.net/manual/en/function.shuffle.php

答案 2 :(得分:1)

另一种选择,

$random_keys=array_rand($member,count($member));
echo $member[$random_keys[0]];
echo $member[$random_keys[1]];
echo $member[$random_keys[2]];
echo $member[$random_keys[3]];
echo $member[$random_keys[4]];