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 相关文章推荐
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
php获取url参数方法总结
Nov 13 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
php简单图像创建入门实例
Jun 10 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
详解PHP实现执行定时任务
Dec 21 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
PHP命名空间与自动加载类详解
Sep 04 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 10 PHP
PHP项目多语言配置平台实现过程解析
May 18 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中使用Oracle数据库(5)
2006/10/09 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
用Python实现随机森林算法的示例
2017/08/24 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
运动会入场口号
2014/06/07 职场文书
离婚协议书范文2014
2014/10/16 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫