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 mssql 数据库分页SQL语句
Dec 16 PHP
php中几种常见安全设置详解
Apr 06 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
一个PHP分页类的代码
May 18 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
浅析php工厂模式
Nov 25 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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执行速度全攻略
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
php跨域调用json的例子
2013/11/13 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
详解mpvue开发小程序小总结
2018/07/25 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
Swift中的协议(protocol)学习教程
2016/07/08 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
Python2与Python3的区别点整理
2019/12/12 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
优秀学生自我鉴定范例
2013/12/18 职场文书
2014年安全生产责任书
2014/07/22 职场文书
公司考勤管理制度
2015/08/04 职场文书
创业计划书之酒店
2019/08/30 职场文书
Python Parser的用法
2021/05/12 Python
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技