主机之家测评主机之家测评  2019-08-24 18:42 主机之家测评 隐藏边栏 |   抢沙发  10 
文章评分 0 次,平均分 0.0
  /**  * 随机生成 N 个汉字  * @param  string $giveStr  必须含有的字  * @param  int $num 需要生成多少个汉字  * @return string 返回生成的字符串  */   function getRndWords($giveStr="", $num=18){       $str = "这个函数可以随机生成一个汉字字符串,可用于猜成语类程序生成答案使用,由零五科技网编写,你可以复制到你的代码中自由使用";# 字库       $newStr  = "";       # 随机生成的包含答案的字符串       $anLo    = array();  # 设定的答案所在的位置。       $bit     = 3;        # 位数,在本系统中是 utf-8 编码,一个中文长度为 3       $anLenth = floor(strlen($giveStr)/$bit); # 答案长度,在 UTF 编码中,              # 这些汉字在 18 个汉字中的位置       $i = 0;       while ( $i<$anLenth ) {           $rd = rand( 0, $num-1 );           if(in_array($rd,$anLo)) continue; # 保证了不重复。           $anLo[] = $rd;           $i++;       }              for( $j=0; $j<$num;$j++ ){           if(in_array($j,$anLo)){               $k = array_search($j,$anLo);               $newStr .= mb_substr($giveStr,$k*$bit,$bit); #echo $newStr."
";                        } else {              $rd  = rand(0,(strlen($str)-1)/$bit);              $wd  = mb_substr($str,$rd*$bit,$bit);              $str = str_replace($wd, '', $str);              $newStr .= $wd;          }      }      return $newStr;  }  

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享