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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
php 缓存函数代码
Aug 27 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
php抓取并保存网站图片的实现代码
Oct 28 PHP
php格式化json函数示例代码
May 12 PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
基于laravel where的高级使用方法
Oct 10 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 代码优化的42条建议 推荐
2009/09/25 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
javascript实现评分功能
2020/06/24 Javascript
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
水果花束:Fruit Bouquets
2017/12/20 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
自强之星事迹材料
2014/05/12 职场文书
新教师培训方案
2014/06/08 职场文书
市场调查策划方案
2014/06/10 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
小学教师党员承诺书
2015/04/27 职场文书
春风化雨观后感
2015/06/11 职场文书
英文投诉信格式
2015/07/03 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书