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在特殊字符前加斜杠的实现代码
Jul 17 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
PHP中trait使用方法详细介绍
May 21 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
利用Laravel生成Gravatar头像地址的优雅方法
Dec 30 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
laravel 时间格式转时间戳的例子
Oct 11 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
paypal即时到账php实现代码
2010/11/28 PHP
php生成excel列序号代码实例
2013/12/24 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
js+jquery常用知识点汇总
2015/03/03 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
Python学习入门之区块链详解
2017/07/25 Python
Python微信公众号开发平台
2018/01/25 Python
Python线程之定位与销毁的实现
2019/02/17 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
python实现图片中文字分割效果
2019/07/22 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python中rb含义理解
2020/06/18 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
临床医学应届生求职信
2013/11/06 职场文书
小学信息技术教学反思
2014/02/10 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
会计演讲稿范文
2014/05/23 职场文书
2015年安全月活动总结
2015/03/26 职场文书
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript