mt_rand函数超时问题。求助,急急急。
时间:2011-06-17
来源:互联网
生成海量(例如10W)无重复随机数的时候,会遇到mt_rand函数超时的问题?请问有没有解决的办法?
附段代码:
- function get_activation_string($length){
-
- $rand_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-
- $len = strlen($rand_str) - 1;
- $key = "";
-
- for($i = 0; $i < $length; $i ++) {
- $key .= $rand_str[mt_rand(0, $len)];
- }
- return $key;
- }
再加段代码,个人猜测是因为上面函数会被循环N次。所以就出现了超时的问题。
- for($i = 0; $i < $hRandLen ; $i++){
-
- if($i == $hRandLen - 1){
- $end = $total;
- } else{
- $end = ($i + 1) * $perNum;
- }
-
- $condition = "";
- $tmpArr = array();
-
- for($j = ($i * $perNum);$j < $end;$j++){
- $k = 0;
-
- while(true){
- $activation_str = $this->get_activation_string($strLen);
- $activation_key = $bzmark . $bzcode_key . $ac_key . $hRandStr[$i] . $activation_str;
- if(!isset($tmpArr[$activation_key])) {
- $tmpArr[$activation_key] = true;
- $condition .= "('$acid','0','0','0','0','$activation_key'),";
- break;
- }
- if($k > 100)
- break;
- $k++;
- }
- }
- }
作者: monster.zhu 发布时间: 2011-06-17
你这不是找事吗..

作者: xiaokai 发布时间: 2011-06-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28