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修改时间格式的代码
May 29 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
Yii框架form表单用法实例
Dec 04 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 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缓存类代码(附详细说明)
2011/06/09 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
javascript学习网址备忘
2007/05/29 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
python实现简单成绩录入系统
2019/09/19 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
Python __slots__的使用方法
2020/11/15 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
成品仓管员工作职责
2013/12/29 职场文书
学生安全责任书范本
2014/07/24 职场文书
质量月活动总结
2014/08/26 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript