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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
php中变量及部分适用方法
Mar 27 PHP
PHP入门学习笔记之一
Oct 12 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
CI框架Session.php源码分析
Nov 03 PHP
迁移PHP版本到PHP7
Feb 06 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
浅谈开发eslint规则
2018/10/01 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
Python的一些用法分享
2012/10/07 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
Python测试人员需要掌握的知识
2018/02/08 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
请解释流与文件有什么不同
2016/07/29 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
营业员实习自我鉴定
2013/12/07 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
销售员岗位职责范本
2014/02/03 职场文书
运动会宣传口号
2014/06/09 职场文书
个人工作决心书
2015/09/22 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技