/** * 随机生成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; }
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







