php生产随机数
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
php生产随机数的更多相关文章
- C语言生产随机数的方法
尽管在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字的重复率很低,以至于它们看起来是随机的.实现这一功能的程序叫做伪随机数发生器. 有关如何产生随机数的理论有许多,这里不讨论这些理论及 ...
- C语言中生产随机数 rand()函数
参考资料:C语言中产生随机数 一:如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdl ...
- python生产随机数案例
法1: list =list(string.lowercase + string.uppercase) + [str(i) for i in range(10)]FH=('!','@','#','$' ...
- js生产随机数
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"; var string_le ...
- 【erlang】erlang几种生成随机数的方法
erlang有三个生产随机数的办法 random:uniform(). 这个函数是erlang库random模块提供的.一般都采用这个. 1> random:uniform(). 0.44358 ...
- c语言数组应用--统计随机数并打印直方图
C标准库中生成伪随机数的是rand函数,使用这个函数需要包含头文件stdlib.h,它没有参数,返回值是一个介于0和RAND_MAX之间的接近均匀分布的整数.RAND_MAX是该头文件中定义的一个常量 ...
- Javascript和JQuery中常用的随机数产生函数
无论在普通Js框架或者JQuery中都可以使用的,函数如下,使用方法简介: 1)获取0-100的随机数--getRandom(100); 2)获取0-999的随机数--getRandom(999); ...
- java 随机数高效生成
分享牛,分享牛原创.近期去面试经常被问到java如何生产随机数,以及生成很大的字符串保证不能重复,还要考虑性能,之前本人面试别人的时候,可能不会问这个问题.既然这个java随机数问题经常被问到,那咱们 ...
- Random类 一般跟生成随机数有关
public class MyRandom extends Random{ public static void main(String[] args) { // 随机数,生产随机数 // java提 ...
随机推荐
- Ajax+Struts做登录判断
Action类里: /* * 登录 */ public ActionForward doLogin(ActionMapping mapping,ActionForm form,HttpServletR ...
- NFA
任意正则表达式都存在一个与之对应的NFA,反之亦然. 正则表达式 ((A*B|AC)D)对应的NFA(有向图), 其中红线对应的为该状态的ε转换, 黑线表示匹配转换 我们定义的NFA具有以下特点: 正 ...
- 使用Scanner获取键盘输入 (转)
原文地址:https://www.cnblogs.com/SzBlog/p/5404335.html 后面有改动 使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达 ...
- Android WiFi热点完全研究(自定义创建、跳转系统界面设置、读取配置、切换,Android6.0适配)
前言: WiFi热点设置页面的安全性选项在Android 4.x上有“无”.“WPA PSK”.“WPA2 PSK”三个选项,在Android 5.0(含)之后去掉了WPA PSK选项(部分手机厂家会 ...
- V4L2框架之视频监控
[参考]韦东山 教学视频 一. V4L2框架: video for linux version 2 虚拟视频驱动vivi.c分析:1.分配video_device2.设置3.注册:video_regi ...
- Online ML那点事>-
一:译自wiki: KeyWord:标签反馈; Survey: online machine learning is a model of induction that learns one i ...
- ubuntu 搭建Mercurial 服务(nginx)
ubuntu 搭建Mercurial 服务(nginx) 环境:ubuntu 12.05 Mercurial 步骤: (1)安装nginx 和 Mercurial: sudo apt-get ins ...
- (转)Bootstrap3 概述
http://blog.csdn.net/duruiqi_fx/article/details/53285607 注意:HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS ...
- Quartz经典入门案列
一.Quartz简介 Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等.Spring对Quartz的集成与其对JDK Timer的集成在任务.触发 ...
- 【转】【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
原文地址:http://www.cnblogs.com/baiboy/p/orc7.html 阅读目录 目录 集群安装 参考文献 相关文章 Oracle 11G RAC集群安装(七) 概述:写下本文档 ...