1 <?php
 2 /**
 3  * 随机返回字符串
 4  * @param number 返回字符串长度
 5  * @param string 从哪些字符串中随机返回,已设置默认字符串,可空
 6  * @return string 返回随机字符串
 7  */
 8 function random_string($length = 8, $chars = null) {
 9     static $s;
10     if( empty($chars) ) $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
11     while( strlen($s) < $length) {
12         $s .= substr($chars, rand(0, strlen($chars) - 1), 1);
13     }
14     return $s;
15 }
16
17 function random_string2($length = 8, $chars_range = 'alpha-number') {
18     $str = '';
19     $chars = '';
20     $char_arr = array(
21             "alpha" => "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
22             "number" => "0123456789",
23     );
24     if (empty($chars_range)) {
25         $chars_rang = 'alpha-number';
26     }
27     if(strpos($chars_range, '-')) {
28         $char_range_arr = explode('-',$chars_range);
29         foreach($char_range_arr as $range){
30             if(!array_key_exists($range, $char_arr)){
31                 exit("wrong range \"". $range ."\"");
32             }
33             $chars .= $char_arr[$range];
34         }
35     }else{
36         if(!array_key_exists($chars_range, $char_arr)){
37             exit("wrong range \"".$chars_range ."\"");
38         }
39         $chars = $char_arr[$chars_range];
40     }
41     while( strlen($str) < $length) {
42         $str .= substr($chars, rand(0, strlen($chars) - 1), 1);
43     }
44     return $str;
45 }
46
47 ?>

转载于:https://www.cnblogs.com/php-71/p/6647280.html

PHP获取随机字符串的两种方法相关推荐

  1. php 获取一串随机字符串,php获取随机字符串的几种方法

    方法一:shuffle函数(打乱数组)和mt_rand函数(生成随机数,比rand速度快四倍) /** * 获得随机字符串 * @param $len 需要的长度 * @param $special ...

  2. c#产生随机字符串的两种方法

    // c#产生随机字符串的两种方法 using System; using System.Data; using System.Linq; using System.Windows.Forms;nam ...

  3. 产生随机字符java_java生成随机字符串的两种方法

    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下 import java.util.Random; public class CharacterUtils { //方法1 ...

  4. php获取随机字符串的几种方法

    方法一:shuffle函数(打乱数组)和mt_rand函数(生成随机数,比rand速度快四倍) 1 /** 2 * 获得随机字符串 3 * @param $len 需要的长度 4 * @param $ ...

  5. java 取随机整数_Java获取随机整数的两种方法

    方式一: 使用 Random 类 举例:获取 0~3 范围内(包括 0 和 3 )的 int 类型的随机数 Random random = new Random(); System.out.print ...

  6. Java 跨平台获取 MAC 地址的两种方法

    前言 有时我们因为软件授权或者其它需要获取主机唯一标识而需要获取用户主机的MAC地址,而本文则将介绍如何通过Java来实现跨平台获取MAC地址的两种方法,同时具体的代码也已上传到GitHub. 如果不 ...

  7. C++ 区分中文,非中文,截取含有中文的string字符串的两种方法

    C++ 区分中文,非中文,截取含有中文的string字符串的两种方法 方法一 根据中文在ASCII中的范围判断 方法二 把string转成wstring 转自: http://blog.51cto.c ...

  8. 在PHP代码中处理JSON 格式的字符串的两种方法:

    总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...

  9. JAVA获取安卓系统下usb_Android 获取 usb 权限的两种方法

    前言: 最近工作上遇到几个USB模块在android平台上适配使用的情况,所以要用到USB权限获取问题 ##USB权限获取有以下2种方式: 一.直接在AndroidManifest.xml文件中进行如 ...

最新文章

  1. Spring Boot 2.0 常见问题总结(一)
  2. 线程调度四(setDaemon方法的使用)
  3. STM32命名,Flash分布,扇区
  4. 【BZOJ 3729】3729: Gty的游戏 (Splay维护dfs序+博弈)
  5. php学习之路五(表单验证)
  6. chromium浏览器_Chromium版Edge浏览器正式上线:安装包仅2.2MB
  7. 计组(唐朔飞)第一章自我总结
  8. 搜索旋转排序数组—leetcode31
  9. [vue-element] 有用过哪些vue的ui?说说它们的优缺点?
  10. 第十二期:面试官问你什么是消息队列?把这篇甩给他!
  11. 创建型、结构型、行为型模式(2)
  12. 阿里云专属数据库,重新定义云数据库新形态
  13. C语言 全局变量 - C语言零基础入门教程
  14. java的constructor怎么用,constructor函数 Java中的构造函数Constructor怎么用
  15. __builtin_popcount
  16. android dialog一个按钮,7种形式的Android Dialog使用实例
  17. CVX用户指南之安装
  18. 人工智能的必须的数学基础和编程基础
  19. 私厨菜谱app的设计与实现(三)
  20. 智能客服选型产品选型比较:晓多、奇智、春松客服

热门文章

  1. 小程序入门学习10--云开发03
  2. Windows域控设置 AD域策略屏蔽端口 禁用端口【全域策略生效】
  3. Oracle数据库忘记用户名和密码怎么办
  4. jq使用教程01_最贴心教程,安装JQData全靠这篇指南
  5. Adobe Flex UIComponent LifeCycle
  6. 网页防篡改技术_大数据让档案“活”起来:用区块链技术防篡改,用量子加密技术防盗窃...
  7. python手机壁纸超清_【原创】Python必应超清壁纸爬虫
  8. go tcp客户端自动重连_在Go中构建并发TCP服务器样例
  9. python网络爬虫学习笔记(二):爬虫基本概述
  10. 《深度学习笔记》——深度神经网络的调试笔记