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 intval的测试代码发现问题
Jul 27 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
php+ajax实现仿百度查询下拉内容功能示例
Oct 20 PHP
PHP区块查询实现方法分析
May 12 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 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
国内咖啡文化
2021/03/03 咖啡文化
PHP开发框架总结收藏
2008/04/24 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
js下将字符串当函数执行的方法
2011/07/13 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
幼儿园运动会入场词
2014/02/10 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
生日寄语大全
2014/04/08 职场文书
2014年幼师工作总结
2014/11/22 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
Python利用FlashText算法实现替换字符串
2022/03/31 Python
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang