《php从数组中随机取一个数值或元素的2种方法比较》要点:
本文介绍了php从数组中随机取一个数值或元素的2种方法比较,希望对您有用。如果有疑问,可以联系我们。
相关主题:PHP开发
PHP从数组中随机取一个元素值。下面是两种常用方法,略有小差别。
比如从这个数组中取一个元素。
$url=[ 'vephp.com', 'http://www.vephp.com', 'www.vephp.com' ];
方法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大循环对比一下。
所以,具体看你的应用场景而定。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/143.html