PHP生成指定随机字符串的简单实现方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP生成指定随机字符串的简单实现方法。分享给大家供大家参考。具体分析如下:

这是一个简单的函数,没有对生成的内容作强制设定。所以在生成的字符串长度较少的时候,会出现没有指定类型字符的情况。当然,修改起来也很简单,这里就不做添加了。

/**
 * @param string $type
 * @param $length
 * @return string
 */
function randomString($type="number,upper,lower",$length){
  $valid_type = array('number','upper','lower');
  $case = explode(",",$type);
  $count = count($case);
  //根据交集判断参数是否合法
  if($count !== count(array_intersect($case,$valid_type))){
    return false;
  }
  $lower = "abcdefghijklmnopqrstuvwxyz";
  $upper = strtoupper($lower);
  $number = "0123456789";
  $str_list = "";
  for($i=0;$i<$count;++$i){
    $str_list .= $$case[$i];
  }
  return substr(str_shuffle($str_list),0,$length);
}
echo randomString("number,upper,lower",12);

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP中UNIX时间戳和日期间的转换与计算实例

UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式。以32位整数表示格林威治标准...

php验证session无效的解决方法

本文实例讲述了php验证session无效的解决方法。分享给大家供大家参考。具体方法如下: 一、问题 今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以...

自己前几天写的无限分类类

前一周写的吧,使用中效果还不错。 主要思想来自:http://www.phpobject.net/b...[url=http://www.phpobject.net/blog/...

浅谈PHP中其他类型转化为Bool类型

浅谈PHP中其他类型转化为Bool类型

问题起由:PHP中if(true==2)会返回true还是false? 结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。 结论: 转化为bool类型时,会变成fal...

PHP中的traits实现代码复用使用实例

PHP5.4后新增traits实现代码复用机制,Trait和类相似,但不能被实例化,无需继承,只需要在类中使用关键词use引入即可,可引入多个Traits,用','隔开。 (1)Trai...