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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
php 文件上传类代码
Aug 06 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 PHP
PHP dirname功能及原理实例解析
Oct 28 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
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
Ubuntu下安装PyV8
2016/03/13 Python
用python生成1000个txt文件的方法
2018/10/25 Python
pytorch实现线性拟合方式
2020/01/15 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
实习护理工作自我评价
2013/09/25 职场文书
女大学生毕业找工作的自我评价
2013/10/03 职场文书
推广活动策划方案
2014/08/23 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
python元组打包和解包过程详解
2021/08/02 Python
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android