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设计模式之装饰者模式代码实例

定义: 装饰者模式就是不修改原类代码和继承的情况下动态扩展类的功能。传统的编程模式都是子类继承父类实现方法重载,使用装饰器模式,只需添加一个新的装饰器对象,更加灵活,避免类数量和层次过多...

thinkphp 多表 事务详解

如下所示:复制代码 代码如下:function makeAcquire($nUsers,$nAwards)    {    &...

php通过array_shift()函数移除数组第一个元素的方法

本文实例讲述了php通过array_shift()函数移除数组第一个元素的方法。分享给大家供大家参考。具体分析如下: 下面的代码通过array_shift()函数加while循环不断移除...

php array_merge函数使用需要注意的一个问题

使用php语言的array_merge函数时,以为相同的键名会覆盖,但是请看如下代码: 复制代码 代码如下: $a1 = array(1=>'abc', 3=>10); $a...

PHP实现的策略模式简单示例

本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下: 比如说购物车系统,在给商品计算总价的时候,普通会员肯定是商品单价乘以数量,但是对中级会员提供8者折扣,对高级会员提供...