《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大循环对比一下。
所以,具体看你的应用场景而定。