php生产随机数

要求

生产三种随机数

1、全数字

2、全字母,大小写

3、数字和大小写字母

代码

 <?php
class RandString{
//这个属性表示我们随机数的长度,也就是个数
private $length;
//要哪些类型type为1的时候就是数字类型的,为2的时候字母类型,为3的时候就是数字加上字母的随机数
private $type; public function __construct($length,$type){
$this->length=$length;
$this->type=$type;
} public function randNum(){
switch ($this->type){
case 1:
return join(array_rand(range(0, 9),$this->length));
break;
case 2:
return join(array_rand(array_flip(array_merge(range('a', 'z'),range('A', 'Z'))),$this->length));
break;
case 3:
return join(array_rand(array_flip(array_merge(range(0, 9),range('a', 'z'),range('A', 'Z'))),$this->length));
break;
}
} } $strNum = new RandString(4,1);
echo $strNum->randNum();
echo '<hr/>';
$strNum = new RandString(4,2);
echo $strNum->randNum();
echo '<hr/>';
$strNum = new RandString(4,3);
echo $strNum->randNum();
echo '<hr/>';
echo '<hr/>';
echo '<hr/>';
echo print_r(range('a', 'z'));
echo '<hr/>';
echo print_r(array_flip(range('a', 'z')));
echo '<hr/>';
echo print_r(array_merge(range(0, 9),range('a', 'z'),range('A', 'Z')));
echo '<hr/>';
echo print_r(array_flip(array_merge(range(0, 9),range('a', 'z'),range('A', 'Z'))));
echo '<hr/>';

要点

这里就是几个函数的应用

1、join

join — Alias of implode()

implode — Join array elements with a string

2、array_rand

array_rand — Pick one or more random entries out of an array

3、array_flip

array_flip — Exchanges all keys with their associated values in an array

4、array_merge

array_merge — Merge one or more arrays

5、range

range — Create an array containing a range of elements

最新文章

  1. MongoDB基础命令笔记
  2. Qt 环境下MAPX组件的编程
  3. u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
  4. Jenkins进阶系列之——15Maven获取Jenkins的Subversion的版本号
  5. Mysql 注意细节
  6. ajax+php+mysql更新
  7. windows xp 安装mysql5.6.17-ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password
  8. Krypton Factor
  9. 结合源码看nginx-1.4.0之nginx事件驱动机制详解
  10. CREATE PROCEDURE
  11. SQL Server 2008 开启数据库的远程连接
  12. ASP.NET Core中的OWASP Top 10 十大风险-SQL注入
  13. JAVAFX-3 开发应用
  14. dojo加载树报错
  15. angular2的依赖注入
  16. [转]OpenGL通过VBO实现顶点数组绘制顶点
  17. MT【98】三元对称不等式
  18. 【FusionCharts学习-3】显示中国地图
  19. Android smartimageview网络图片查看器
  20. NHibernate连接oracle报错

热门文章

  1. MBR分区表格式 - 简明概述
  2. Object的wait和Thread的sleep
  3. easyui的datetimebox时间格式化详解
  4. SVD分解.潜语义分析.PythonCode
  5. day25-3 json,pickle模块
  6. C++进阶 STL(2) 第二天 一元/二元函数对象、一元/二元谓词、stack容器、queue容器、list容器(双向链表)、set容器、对组、map容器
  7. 自己对WEBGL坐标系的转换过程的理解【如图】
  8. select的option触发事件
  9. javaScript原型、闭包和异步操作
  10. js 操作table: insertRow(),deleteRow(),insertCell(),deleteCell()方法