php简单随机字符串生成方法示例


Posted in PHP onApril 19, 2017

本文实例讲述了php简单随机字符串生成方法。分享给大家供大家参考,具体如下:

<?php
function rand_str($length,$p='all'){
 $nums = '0123456789';
 $lowers = 'abcdefghijklmnopqrstuvwxyz';
 $uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 if ($p == 'all') {
 $src = $nums.$lowers.$uppers;
 } else {
 $src = '';
 if (strpos($p, 'num') !== false)
  $src .= $nums;
 if (strpos($p, 'lower') !== false)
  $src .= $lowers;
 if (strpos($p, 'upper') !== false)
  $src .= $uppers;
 }
 return $src? substr(str_shuffle($src), 0, $length) : $src;
}
?>

去网上搜了一下随机字符串的php函数, 发现大部分的实现都用到了循环--这有点低效率啊. 在php中, 有各种各样的函数, 只有你想不到, 没有他想不到. str_shuffle()函数可以轻松做到随机字符串. 不过呢, 还是封装一个吧, 毕竟有的人有只用大写字母和只用数字的需求.

函数的第二个参数num, lower, upper可以随意组合哦.

真正核心的语句只有一行

substr(str_shuffle($src), 0, $length)

作用是将字符串$src乱序并且截取前$length个字符.

PHP 相关文章推荐
PHP 定界符 使用技巧
Jun 14 PHP
PHP 判断变量类型实现代码
Oct 23 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
Jul 01 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
PHP7.0安装笔记整理
Aug 28 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
php并发加锁示例
Oct 17 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 #PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 #PHP
PHP实现活动人选抽奖功能
Apr 19 #PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 #PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 #PHP
Yii2汉字转拼音类的实例代码
Apr 18 #PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 #PHP
You might like
php设计模式 Proxy (代理模式)
2011/06/26 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python如何删除文件中重复的字段
2019/07/16 Python
Python 3.8 新功能全解
2019/07/25 Python
python sorted方法和列表使用解析
2019/11/18 Python
python matplotlib拟合直线的实现
2019/11/19 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
What is EJB
2016/07/22 面试题
志愿者爱心公益活动策划方案
2014/09/15 职场文书
四查四看整改措施
2014/09/19 职场文书
2014年协会工作总结
2014/11/22 职场文书
颐和园英文导游词
2015/01/30 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书