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递归算法的详细示例分析
Feb 19 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
php preg_replace替换实例讲解
Nov 04 PHP
zf框架的校验器InArray使用示例
Mar 13 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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文件注释标记及规范小结
2012/04/01 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
详解Python self 参数
2019/08/30 Python
python3实现高效的端口扫描
2019/08/31 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
python使用建议与技巧分享(二)
2020/08/17 Python
python 常见的排序算法实现汇总
2020/08/21 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
大专自我鉴定范文
2013/10/01 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS