php从数组中随机取一个数值或元素的2种方法比较

《php从数组中随机取一个数值或元素的2种方法比较》要点:
本文介绍了php从数组中随机取一个数值或元素的2种方法比较,希望对您有用。如果有疑问,可以联系我们。

PHP从数组中随机取一个元素值。下面是两种常用方法,略有小差别。

比如从这个数组中取一个元素。

$url=[
    'jb51.cc',    'http://www.jb51.cc',    'www.jb51.cc'
];

方法1:使用array_rand() 取得随机的一个下标key,再用这个下标去获得随机的数组元素。

$url[array_rand($url,1)];

方法2:使用rand()函数:

$url[rand (0,count ($url)-1)];

我推荐后者,因为在使用中会发现方法1的array_rand()每次抽取的变化机率不大,在同一批抽取中,经常都是一样的。估计是随机数发生器播种问题。

而rand函数PHP 4.2 起,不需要再用 srand() 或 mt_srand() 函数给随机数发生器播种,已自动完成。因此变化机率大。

此外,rand的效率似乎也比array_rand高,不过没做过压测,有兴趣可以自己写个for大循环对比一下。

所以,具体看你的应用场景而定。

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。