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 相关文章推荐
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
php下连接mssql2005的代码
Jan 17 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
php防止用户重复提交表单
Nov 02 PHP
php格式化时间戳
Dec 17 PHP
浅谈php调用python文件
Mar 29 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 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项目的方法
2006/10/09 PHP
php MYSQL 数据备份类
2009/06/19 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
JQuery live函数
2010/12/24 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JavaScript函数详解
2015/02/27 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
幼教个人求职信范文
2013/12/02 职场文书
小学英语教学反思案例
2014/02/04 职场文书
连带责任保证书
2014/04/29 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
公司出差管理制度范本
2015/08/05 职场文书
Python如何配置环境变量详解
2021/05/18 Python