当前位置:首页 > PHP教程 > php函数 > 列表

php中array_rand函数的使用方法详解

发布:smiling 来源: PHP粉丝网  添加日期:2016-01-01 15:17:45 浏览: 评论:0 

array_rand是数组随机函数了,我今天看到一个站长简单的介绍array_rand性能了,于是把许久没写的php再来简单的看看,我们一起来看看array_rand函数用法吧。

从一个数组中随机取出n个值,用array_rand()可以轻易的实现,当面对大数组的时候,我们会担心他的效率、性能问题。

我测试了一下,当在一个大小为一万的数组中随机取出20个值,即array_rand($arr, 20)的时候,程序只花费了0.005s左右,效率非常高。平时基本上都不会遇到这么大的数组吧,所以我们不必担心array_rand效率问题了。

同时,我用了另外一种用随机数的方法。

  1. $arr = array(1,2,3,4,5...9999); 
  2. for($i=0; $i<20; $i++) 
  3.  $rands = mt_rand(0,9999); 
  4.  $aa[] = $arr[$rands]; 

运行程序,也只需要大概0.005s左右。

实例、随机数组

  1. function make_password( $length = 8 ) 
  2.     // 密码字符集,可任意添加你需要的字符 
  3.     $chars = array('a''b''c''d''e''f''g''h',  
  4.     'i''j''k''l','m''n''o''p''q''r''s',  
  5.     't''u''v''w''x''y','z''A''B''C''D',  
  6.     'E''F''G''H''I''J''K''L','M''N''O',  
  7.     'P''Q''R''S''T''U''V''W''X''Y','Z',  
  8.     '0''1''2''3''4''5''6''7''8''9''!',  
  9.     '@','#''$''%''^''&''*''('')''-''_',  
  10.     '['']''{''}''<''>''~''`''+''='',',  
  11.     '.'';'':''/''?''|'); 
  12.     // 在 $chars 中随机取 $length 个数组元素键名 
  13.     $keys = array_rand($chars$length); 
  14.     $password = ''
  15.     for($i = 0; $i < $length$i++) 
  16.     { //phpfensi.com 
  17.         // 将 $length 个数组元素连接成字符串 
  18.         $password .= $chars[$keys[$i]]; 
  19.     } 
  20.     return $password

我猜想,array_rand底层的算法可能就是以上这种方法做出来的。所以取数组中随机值,放心大胆的用array_rand吧。

Tags: array_rand php随机函数

分享到: