php源码分析之DZX1.5随机数函数random用法


Posted in PHP onJune 17, 2015

本文实例讲述了php源码分析之DZX1.5随机数函数random用法。分享给大家供大家参考。具体如下:

<?php
/**
 * @param int $length: 随机数长度
 * @param int $numeric: 0或非0,其中0表示随机数由全数字组成,非0表示随机数由全字母组成
 * @return string: 返回生成的随机数
 */
function random($length, $numeric = 0) {
  $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35);
  $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed));
  $hash = '';
  $max = strlen($seed) - 1;
  for($i = 0; $i < $length; $i++) {
    $hash .= $seed{mt_rand(0, $max)};
  }
  return $hash;
}
echo random('15',1);
echo '<br />';
echo random('15');
/*End of php*/

运行结果如下:

228283270677112
SjqffsU76994qfS

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP新手上路(十二)
Oct 09 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
PHP排序算法类实例
Jun 17 PHP
PHP函数超时处理方法
Feb 14 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
php原生数据库分页的代码实例
Feb 18 PHP
php正则替换处理HTML页面的方法
Jun 17 #PHP
PHP排序算法类实例
Jun 17 #PHP
php准确获取文件MIME类型的方法
Jun 17 #PHP
php操作MongoDB类实例
Jun 17 #PHP
PHP实现的购物车类实例
Jun 17 #PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 #PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 #PHP
You might like
本地计算机无法启动Apache故障处理
2014/08/08 PHP
分享php多功能图片处理类
2016/05/15 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
web打印小结
2017/01/11 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
使用cx_freeze把python打包exe示例
2014/01/24 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
python如何爬取网页中的文字
2020/07/28 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
什么是设计模式
2012/06/17 面试题
领导干部群众路线剖析材料
2014/10/09 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL