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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)相关的知识,希望对你有一定的参考价值。

今天本来在群里瞎扯淡的,突然看到有人问一个问题,大概意思是:怎么样从一个数组中随机抽取一个元素。当时我想到了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] => 王二
        )

)

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

 

以上是关于从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)的主要内容,如果未能解决你的问题,请参考以下文章

javaScript从数组里随机抽取10个值

php中如何在数组中随机抽取n个数据的值

从数组中获取随机值并在 DOM 中发布

将随机值从数组复制到对象无法获得稳定的结果

shell 随机从数组中抽取三个随机数(#可持续不停抽取)

从数组中采样一个随机子集