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程序设计有所帮助。

相关文章

php5 non-thread-safe和thread-safe这两个版本的区别分析

先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;Thread Safe就是线程安全,执行时会进行线程(thread)安全检...

如何在PHP程序中防止盗链

example:     页面: dl.php      --------------...

PHP框架Swoole定时器Timer特性分析

PHP框架Swoole定时器Timer特性分析

本文所述PHP框架Swoole定时器Timer特性分析具有很好的实用价值,值得PHP程序开发人员学习借鉴。具体分析如下: 首先,在各种业务型系统中,往往需要服务器在后台扫描相关数据,触发...

php设计模式 Chain Of Responsibility (职责链模式)

复制代码 代码如下: <?php /** * 职责链模式 * * 为解除请求的发送者和接收者之间的耦合,而使用多个对象都用机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该...

PHP+MariaDB数据库操作基本技巧备忘总结

PHP+MariaDB数据库操作基本技巧备忘总结

本文实例总结了PHP+MariaDB数据库操作基本技巧。分享给大家供大家参考,具体如下: PHP+MySQL是比较常见的搭配,由于我主观上不太喜欢Oracle,而MySQL被它收购后,骨...