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 相关文章推荐
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
深入PHP异步执行的详解
Jun 03 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
微信支付之JSAPI公众号支付详解
May 15 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
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
使用jQuery避免鼠标双击的解决方案
2013/08/21 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
南京迈特望C/C++面试题
2012/07/09 面试题
羽毛球社团活动总结
2014/06/27 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
追讨欠款律师函
2015/06/24 职场文书
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL