PHP从数组中随机取出数组元素

已邀请:

llslx520

赞同来自:

1、使用“array_rand()”函数来随机取数组的key,再使用key来取数组元素:
<?php
$data = array('abc', '爱E族', '123', 'aiezu.com');
echo sprintf("%s\n", $data[array_rand($data)]);
echo sprintf("%s\n", $data[array_rand($data)]);
echo sprintf("%s\n", $data[array_rand($data)]);
输出:
aiezu.com
aiezu.com
爱E族
此方法的缺点是取多次时、会取出重复的元素。

2、使用“shuffle()”函数,打乱数组后,再依次取出数组元素:
<?php
$data = array('abc', '爱E族', '123', 'aiezu.com');
shuffle($data); //打乱数组元素
while($value = array_pop($data) ) {
    echo sprintf("%s\n", $value);
}
输出:
aiezu.com
abc
123
爱E族
此方法取出的元素不会出现重复的情况。

要回复问题请先登录注册