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新手上路(七)
Oct 09 PHP
?算你??的 PHP 程式大小
Dec 06 PHP
剖析 PHP 中的输出缓冲
Dec 21 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
php获取linux命令结果的实例
Mar 13 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP查询快递信息的方法
2015/03/07 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python中字典和集合学习小结
2017/07/07 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
python实现dijkstra最短路由算法
2019/01/17 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
写好求职信第一句话的技巧
2013/10/26 职场文书
药学专业个人的自我评价
2013/12/31 职场文书
安全员岗位职责范本
2015/04/11 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript