ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ /**   * \[get_rand_number 生成不重复的随机数\]  * @param  integer $start  \[需要生成的数字开始范围\]  * @param  integer $end    \[结束范围\]  * @param  integer $length \[需要生成的随机数个数\]  * @return \[type\]          \[生成的随机数\]  */ function get_rand_number($start=1,$end=10,$length=4) {     $connt=0;     $temp=array();     while($connt<$length){         $temp\[\]=mt_rand($start,$end);         $data=array_unique($temp);         $connt=count($data);     }     sort($data);     return $data; } ~~~ ~~~ /** * 生成不重复的随机数字(不能超过10位数,否则while循环陷入死循环) * * @param int $start 需要生成的数字开始范围 * @param int $end 结束范围 * @param int $length 需要生成的随机数个数 * * @return number 生成的随机数 */ function getRandNumber($start = 0, $end = 9, $length = 8) { //初始化变量为0 $count = 0; //建一个新数组 $temp = array(); while ($count < $length) { //在一定范围内随机生成一个数放入数组中 $temp[] = mt_rand($start, $end); //$data = array_unique($temp); //去除数组中的重复值用了“翻翻法”,就是用array_flip()把数组的key和value交换两次。这种做法比用 array_unique() 快得多。 $data = array_flip(array_flip($temp)); //将数组的数量存入变量count中 $count = count($data); } //为数组赋予新的键名 shuffle($data); //数组转字符串 $str = implode(",", $data); //替换掉逗号 $number = str_replace(',', '', $str); return $number; } ~~~