PHP基于自增数据如何生成不重复的随机数示例


Posted in PHP onMay 19, 2017

本文主要介绍了PHP基于自增数据生成不重复的随机数的相关内容,分享出来供大家参考学习,下面多说无益 直接上代码:

关键点在于生成的自增数据位数控制

位数控制在于两个地方

      1、 $base 基数组 如果是8位这个数组必须是8位

      2、 $i 自增数,自增数不能超过8位数

当前简单分析的结果就是以上。大家如果是全局不重复,还是建议使用uuid之类的比较合适。

示例代码:

function swap($n,$base) {
$mask = 19; //1 + 2 + 16
 $n = intval($n, 10);
 $idx = $n & $mask;//取出标志位
 $xor = $base[$idx] ^ $n;//根据标识为找到对应的base,异或n
 
 return (($xor | $mask) ^ $mask) | $idx;//覆盖标识位
}
$newArray=[];
$base = array (
 0 => 1918407,
 1 => 5529570,
 2 => 6527234,
 3 => 6550962,
 4 => 8054672,
 5 => 3141234,
 6 => 2125630,
 7 => 6978033,
 8 => 4623630,
 9 => 4736420,
 10 => 7767295,
 11 => 9679880,
 12 => 1665600,
 13 => 6044373,
 14 => 4661383,
 15 => 5771843,
 16 => 2206123,
 17 => 5685396,
 18 => 5571647,
 19 => 7178311,
);
for ($i=0;$i<1000000;$i++) {
 $newArray[]= swap($i,$base)."\r\n";
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP邮件专题
Oct 09 PHP
生成php程序的php代码
Apr 07 PHP
php ios推送(代码)
Jul 01 PHP
php使用parse_url和parse_str解析URL
Feb 22 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
php猜单词游戏
Sep 29 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
Yii2设置默认控制器的两种方法
May 19 #PHP
php将html转为图片的实现方法
May 19 #PHP
PHP实现文件上传功能实例代码
May 18 #PHP
php分页查询mysql结果的base64处理方法示例
May 18 #PHP
php数值转换时间及时间转换数值用法示例
May 18 #PHP
yii2 resetful 授权验证详解
May 18 #PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 #PHP
You might like
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
JavaScript面象对象设计
2008/04/28 Javascript
JavaScript 继承的实现
2009/07/09 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
django model去掉unique_together报错的解决方案
2016/10/18 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
python内打印变量之%和f的实例
2020/02/19 Python
python如何爬取网页中的文字
2020/07/28 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
python实现图片转字符画的完整代码
2021/02/21 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
优秀研究生主要事迹
2014/06/03 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
办公室岗位职责
2015/02/04 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
联村联户简报
2015/07/21 职场文书
《搭石》教学反思
2016/02/18 职场文书
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js