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与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
php中转义mysql语句的实现代码
Jun 24 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
具有时效性的php加密解密函数代码
Jun 19 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
详解PHP中的Traits
Jul 29 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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生成文件
2007/01/15 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
初识Node.js
2015/03/20 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
JS实现小米轮播图
2020/09/21 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS