首页 > 代码库 > 从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)

从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)

今天本来在群里瞎扯淡的,突然看到有人问一个问题,大概意思是:怎么样从一个数组中随机抽取一个元素。当时我想到了PHP中有一个内置函数是打乱数组的顺序的。我就想用这个函数打乱一下,然后就抽取第一个元素。

代码如下:

$array = array(
    ‘das‘=>array(‘id‘=>1,‘name‘=>‘于杭‘),
    ‘dasss‘=>array(‘id‘=>2,‘name‘=>‘张三‘),
    ‘dass‘=>array(‘id‘=>3,‘name‘=>‘李四‘),
    ‘dads‘=>array(‘id‘=>4,‘name‘=>‘王二‘),
);
shuffle($array);
echo ‘<pre>‘;
print_r($array);

输出的结果:

 

Array
(
    [0] => Array
        (
            [id] => 3
            [name] => 李四
        )

    [1] => Array
        (
            [id] => 2
            [name] => 张三
        )

    [2] => Array
        (
            [id] => 1
            [name] => 于杭
        )

    [3] => Array
        (
            [id] => 4
            [name] => 王二
        )

)

 需要注意的是,这个函数把数组的键重置了,原来是一个关联数组,在这个函数处理过后变成了索引数组。

 

从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)