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

I have an array with values,

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

I can show them randomly using

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)];

But this way, a member can show up twice or even more! What is the correct and professional way to show them only once randomly ?

If you want to consume the entire array at random order use shuffle.

shuffle($member);

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

If you want to select one or more elements from the array at random use array_rand.

Let's say you want to select 3 members from the array at random, with the guarantee that you will never pick the same array value twice.

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

Use shuffle()

$shuffle($member);

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

Another choice,

$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]];