php生成随机数/生成随机字符串的方法小结【5种方法】,字符串,随机数,在线,数组,字符

php生成随机数/生成随机字符串的方法小结【5种方法】

易采站长站,站长之家为您整理了php生成随机数/生成随机字符串的方法小结【5种方法】的相关内容。

本文实例讲述了php生成随机数/生成随机字符串的方法。分享给大家供大家参考,具体如下:

有时候我们的项目需要生成随机数,但是又不想那么麻烦,那么我们可以使用下面这5种方法生成。

第一种:mt_rand()<?phpfunction GetRandStr($length){ //字符组合 $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len = strlen($str)-1; $randstr = ''; for ($i=0;$i<$length;$i++) { $num=mt_rand(0,$len); $randstr .= $str[$num]; } return $randstr;}//传入长度$number = GetRandStr(6);echo $number;?>

第二种:array_rand()数组<?phpfunction make_password($length){ // 密码字符集,可任意添加你需要的字符 $str = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); // 在 $str 中随机取 $length 个数组元素键名 $keys = array_rand($str, $length); $password = ''; for($i = 0; $i < $length; $i++) { // 将 $length 个数组元素连接成字符串 $password .= $str[$keys[$i]]; } return $password;}echo make_password(6);?>

第三种:把字符串打乱,然后返回其中的一小截<?phpfunction getrandstr($length){ $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; $randStr = str_shuffle($str);//打乱字符串 $rands= substr($randStr,0,$length);//substr(string,start,length);返回字符串的一部分 return $rands;}echo getrandstr(6);?>

第四种:返回任意随机数<?php //返回1000-9999其中的一个随机数echo rand(1000,9999);?>

第五种:对时间戳进行MD5加密,截取其中一部分<?phpfunction token($length){ $str = md5(time()); $token = substr($str,5,$length); return $token;}echo token(6);?>

5种方法,任你选择,当然还有很多方法,例如多个字符串进行拼接,最后做md5加密或SHA1加密,然后返回字符串,这种比较普遍用于token验证或签名验证。

PS:这里再为大家提供两款功能类似的在线工具供大家参考:

在线随机数字/字符串生成工具:http://tools.jb51.net/aideddesign/suijishu

在线随机字符/随机密码生成工具:http://tools.jb51.net/aideddesign/rnd_password

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。以上就是关于对php生成随机数/生成随机字符串的方法小结【5种方法】的详细介绍。欢迎大家对php生成随机数/生成随机字符串的方法小结【5种方法】内容提出宝贵意见

php随机数字符串,php生成随机数/生成随机字符串的方法小结【5种方法】相关推荐

  1. java实现生成指定位数随机字符串要求包含数字大小写字母三种类型字符

    今天接到一个初始密码生成的需求,要求生成的密码长度在8-16位,其中必须包含数字.大写字母.小写字母.平常都是使用hutool工具类进行字符处理,发现没有提供满足要求的方法,自己就根据现有的方法组装实 ...

  2. 批量生成一组不同随机字符串

    在项目开发中,有时候需要生成一组随机字符串.但由于服务器运算速度极快,所以在同时生成一组随机字符串时出现相同的字符串:最初在网上找找,看到几种方法,但都不是很好用. 1.使用Thread.Sleep( ...

  3. js生成8位随机字符串密码

    最近做了一个功能,随机生成一个8位字符串密码: 要求必须包含大写字母.小写字母和数字,下面和大家分享下 首先我们要了解下 ASCLL码 js提供两个方法: 分别将ASCLL码转为字符:String.f ...

  4. php随机生成汉字、随机字符串

    // $num为生成汉字的数量 function getChar($num){$b = '';for ($i=0; $i<$num; $i++) {// 使用chr()函数拼接双字节汉字,前一个 ...

  5. bash 生成N位随机字符串

    seq 产生一个数到另一个数的所有整数 $seq 2 10 2 3 4 5 6 7 8 9 10 $seq 10 1 2 3 4 5 6 7 8 9 10 $RANDOM 随机数 ${varibale ...

  6. Python:生成6位随机字符串,字符可以是数字、大写字母、小写字母

    #!/usr/bin/env python # coding:UTF-8""" @version: python3.x @author:曹新健 @contact: 617 ...

  7. js生成随机不重复数字的几种方法

    三种方式实现生成随机不重复数字: <!DOCTYPE html> <html> <head><title>生成随机不重复数</title> ...

  8. java 随机生成不重复的数字_生成8位随机不重复的数字编号的方法

    生成随机不重复的数字编号在某些情况下也会用到,本文以生成8位随机不重复的数字编号为例与大家分享下具体的实现过程,感兴趣的朋友可以参考下 package com.jjinfo.common.util; ...

  9. jquery生成二维码怎么添加图片(两种方法)

    github项目地址: https://github.com/fengliting/erweima 注意:这里实现的是第一个方法 自动生成二维码里面添加图片,有两种方法,一种是使用jquery原生的二 ...

  10. java查找字符串中包含子字符串的个数,灵活运用String方法,3种方法的代码实现!

    第一种方法: 灵活运用split方法!直接把子字符串作为split的参数传进去,看看原字符串被分割成了几部分,得到的String数组的length.然后length - 1就是 需要查询的子字符串的个 ...

最新文章

  1. linux 6.7 nfs安装yum,centos7下NFS使用与配置
  2. Visual Studio中的快捷键
  3. 沫沫金:Java快速合并两个数组【绝技】
  4. 补补算术基础:编程中的进制问题
  5. illustrator下载_Illustrator笔工具练习
  6. Java System类runFinalization()方法及示例
  7. swoole mysql 无法查询_swoole websocket服务进行mysql断线重连不生效的问题
  8. React Native随笔 2--重要函数
  9. 数据仓库3级范式(3NF)基础
  10. 让vim显示空格,及tab字符 vim 多行注释
  11. oracle多边形经纬范围筛选_Oracle数据库之Oracle spatial空间查询的选择度分析
  12. 讲解【分布式事务】的一篇良心之作!
  13. Arcgis应用(八)arcgis点要素转为面要素(点图形转为面)
  14. WordCloud库的安装教程
  15. 台式计算机启动叫两声,电脑开机2声短报警什么情况
  16. 2022年油猴(tampermonkey)超简单安装
  17. 用anacnda创建虚拟环境用不用指定python版本
  18. 比尔盖茨的十大人生定律中英对照
  19. linux ppp用户管理,linux下ppp拨号上网
  20. 如何实现FlowLayout的换行操作

热门文章

  1. redis缓存相关注解
  2. XSHELL和XFTP官方免费下载
  3. 那些年我追过的“女孩”
  4. 流形学习——MDS ISOMAP
  5. element ui 树形-懒加载-表格-多选 勾选问题
  6. 易语言调用API之打印函数
  7. 雅思,托福,GRE的区别和用途
  8. 伦敦地铁不再拥挤的原因是?TfL利用Wi-Fi 追踪用户位置
  9. 魅族android10内侧,魅族10款机型迎来安卓10更新,7月21日推送内测版
  10. 移动电子商务金融特点