/** * 随机生成N个汉字 * @param string $giveStr 必须含有的字 * @param int $num 需要生成多少个汉字 * @return string 返回生成的字符串 */ private 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; }
PHP随机生成N个汉字 PHP随机生成一段汉字
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP随机生成N个汉字 PHP随机生成一段汉字》
文章链接:https://www.ibytx.com/19271.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《PHP随机生成N个汉字 PHP随机生成一段汉字》
文章链接:https://www.ibytx.com/19271.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
相关推荐
#十月狂欢#Hostease:购虚拟主机送独立IP,购买美国/香港服务器,加送125个独立IP,可选不同C段,新老同享,先到先得,送完即止
#即将结束#SiteGround:19周年庆特别优惠,外贸主机/WordPress主机,年付低至$23.88,月付$1.99起
SiteGround:19周年庆特别优惠,外贸主机/WordPress主机,年付低至$23.88,月付$1.99起
bacloud黑五促销:便宜服务器,E5v4U26Q独立服务器6折,Linux KVM VPS 5折,虚拟主机7折,可选美国/荷兰/立陶宛机房
php中方法和函数的区别
TypeScript动态创建类的方法
Laravel框架Warning: require(../vendor/autoload.php): failed to open stream: No such file or directory in .../autoload.php on line 17错误的解决办法
php获取前一小时、前一天、三天前、前一个月、三个月前、前一年的时间

博悦天下


