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&amp;MYSQL留言板源码
Jul 19 PHP
php 购物车的例子
May 04 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
fgetcvs在linux的问题
Jan 15 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 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
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
PHP实现添加购物车功能
2017/03/06 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
Python的迭代器和生成器
2015/07/29 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
什么是lambda函数
2013/09/17 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
机械工程系毕业生求职信
2013/09/27 职场文书
高中军训感言500字
2014/02/24 职场文书
市场调查策划方案
2014/06/10 职场文书
中学生检讨书1000字
2014/10/28 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB