/**
* 随机生成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."<br>";
} else {
$rd = rand(0,(strlen($str)-1)/$bit);
$wd = mb_substr($str,$rd*$bit,$bit);
$str = str_replace($wd, '', $str);
$newStr .= $wd;
}
}
return $newStr;
}
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » php随机生成n个汉字字符串函数
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » php随机生成n个汉字字符串函数