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 多行多列显示
Aug 15 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
PHP Web表单生成器案例分析
Jun 02 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逐行读取txt文件写入数组的方法
2015/07/02 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
Python IDLE入门简介
2017/12/08 Python
python中实现字符串翻转的方法
2018/07/11 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
python装饰器练习题及答案
2019/11/01 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
python一些性能分析的技巧
2020/08/30 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
sort命令的作用和用法
2013/08/25 面试题
学院书画协会部门职责
2013/11/28 职场文书
初中英语教学反思
2014/01/25 职场文书
教师职称自我鉴定
2014/02/12 职场文书
庆祝教师节标语
2014/10/09 职场文书
自我检讨书怎么写
2015/05/07 职场文书
士兵突击观后感
2015/06/16 职场文书
建议书的格式及范文
2015/09/14 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
JavaScript函数柯里化
2021/11/07 Javascript