分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

PHP生成随机或者唯一字符串

发布时间:2023-09-06 01:10责任编辑:彭小芳关键词:PHP

本文出至:新太潮流网络博客

/** * [生成随机字符串] * @E-mial wuliqiang_aa@163.com * @TIME ??2017-04-07 * @WEB ???http://blog.iinu.com.cn * @param ?integer $length [生成的长度] * @param ?integer $type ??[生成的类型] * @return [type] ??str ??????[description] * @php 随机码类型:0,数字+大写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符 */function randCode($length = 5, $type = 0) { ???$arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|"); ???if ($type == 0) { ???????array_pop($arr); ???????$string = implode("", $arr); ???} else if ($type == "-1") { ???????$string = implode("", $arr); ???} else { ???????$string = $arr[$type]; ???} ???$count = strlen($string) - 1; ???for ($i = 0; $i < $length; $i++) { ???????$str[$i] = $string[rand(0, $count)]; ???????$code .= $str[$i]; ???} ???return $code;}/** * [生成唯一字符串] * @E-mial wuliqiang_aa@163.com * @TIME ??2017-04-07 * @WEB ???http://blog.iinu.com.cn * @ 0-存数字字符串;1-小写字母字符串;2-大写字母字符串;3-大小写数字字符串;4-字符; * ??5-数字,小写,大写,字符混合 * @param ?integer $type ??[字符串的类型] * @param ?integer $length [字符串的长度] * @param ?integer $time ??[是否带时间1-带,0-不带] * @return [string] ?$str ???[返回唯一字符串] */function randSole($type = 0,$length = 18,$time=0){ ???$str = $time == 0 ? ‘‘:date(‘YmdHis‘,time()); ???switch ($type) { ???????case 0: ???????????for((int)$i = 0;$i <= $length;$i++){ ???????????????if(mb_strlen($str) == $length){ ???????????????????$str = $str; ???????????????}else{ ???????????????????$str .= rand(0,9); ???????????????} ???????????} ???????????break; ???????case 1: ???????????for((int)$i = 0;$i <= $length;$i++){ ???????????????if(mb_strlen($str) == $length){ ???????????????????$str = $str; ???????????????}else{ ???????????????????$rand = "qwertyuioplkjhgfdsazxcvbnm"; ???????????????????$str .= $rand{mt_rand(0,26)}; ???????????????} ???????????} ???????????break; ???????case 2: ???????????for((int)$i = 0;$i <= $length;$i++){ ???????????????if(mb_strlen($str) == $length){ ???????????????????$str = $str; ???????????????}else{ ???????????????????$rand = "QWERTYUIOPLKJHGFDSAZXCVBNM"; ???????????????????$str .= $rand{mt_rand(0,26)}; ???????????????} ???????????} ???????????break; ???????case 3: ???????????for((int)$i = 0;$i <= $length;$i++){ ???????????????if(mb_strlen($str) == $length){ ???????????????????$str = $str; ???????????????}else{ ???????????????????$rand = "123456789qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM"; ???????????????????$str .= $rand{mt_rand(0,35)}; ???????????????} ???????????} ???????????break; ???????case 4: ???????????for((int)$i = 0;$i <= $length;$i++){ ???????????????if(mb_strlen($str) == $length){ ???????????????????$str = $str; ???????????????}else{ ???????????????????$rand = "!@#$%^&*()_+=-~`"; ???????????????????$str .= $rand{mt_rand(0,17)}; ???????????????} ???????????} ???????????break;case5:for((int)$i =0;$i <= $length;$i++){if(mb_strlen($str)== $length){ ???????????????????$str = $str;}else{ ???????????????????$rand ="123456789qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_+=-~`"; ???????????????????$str .= $rand{mt_rand(0,52)};}}break;}return $str;}

本文出至:新太潮流网络博客

PHP生成随机或者唯一字符串

原文地址:http://www.cnblogs.com/disoq/p/7509163.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved