www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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吧。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php中array_rand函数的使用方法详解》
文章链接:https://www.adminn.cn/news/6619.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏