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的图形函数中显示汉字
Oct 09 PHP
基于mysql的bbs设计(二)
Oct 09 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
php如何调用webservice应用介绍
Nov 24 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
php读取纯真ip数据库使用示例
Jan 26 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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如何将日志写进syslog
2013/06/28 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
Anaconda入门使用总结
2018/04/05 Python
python装饰器深入学习
2018/04/06 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
Python request使用方法及问题总结
2020/04/26 Python
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
Servlet如何得到服务器的信息
2015/12/22 面试题
大学在校生求职信范文
2013/11/21 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏