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

yipeiwu_com5年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

THINKPHP支持YAML配置文件的设置方法

为什么要用 yaml 因为 Yaml 简单,而且对人类友好; Yaml: http://www.yaml.org/ 在哪里会用到? 最基本的,在 ThinkPHP 的配置文件里面就可以选...

PHP常量define和const的区别详解

前言 常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。 可以用define()函数来定义常量。...

php实现上传图片文件代码

代码很简单,这里我们就不多废话了,直接奉上源码 <?php // 注册表单的姓名 $name=""; $nameErr=""; if ($_SERVER["REQUES...

PHP封装的简单连接MongoDB类示例

本文实例讲述了PHP封装的简单连接MongoDB类。分享给大家供大家参考,具体如下: 1. 封装MongoDB类 <?php class MongoDB { pri...

PHP后期静态绑定之self::限制实例分析

本文实例讲述了PHP后期静态绑定之self::限制。分享给大家供大家参考,具体如下: 在此我想讲一讲后期静态绑,我想讲self::与static进行比较说明。 官方文档上是这样定义的:...