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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
PHP中数组定义的几种方法
Sep 01 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
php实现加减法验证码代码
Feb 14 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
php制作简单模版引擎
Apr 07 PHP
php可变长参数处理函数详解
Feb 22 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
实例讲解PHP表单处理
Feb 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随机显示图片的简单示例
2014/02/15 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
解密效果
2006/06/23 Javascript
js 目录列举函数
2008/11/06 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
《世界多美呀》教学反思
2014/03/02 职场文书
军训拉歌口号
2014/06/13 职场文书
科学发展观活动总结
2014/08/28 职场文书
2014年英语工作总结
2014/12/20 职场文书
高二语文教学反思
2016/02/16 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
MySQL数据库简介与基本操作
2022/05/30 MySQL