php通过0-9随机生成唯一的8位数

<?php
class ClassName
{
    /**
     * //php通过0-9随机生成唯一的8位数
     **/
    function nonceStr() {
        $arr = []; //定义一个空数组
        for ($i=0; $i < 100; $i++) {  //生成100组
             $str = uniqid($i); //根据微秒生成随机16进制字符
             $num = base_convert($str,16,8); //将生成的16进制转成8进制
             $number = substr($num, 0,8); //将8进制的字符,从下标0开始截取前8位数,得到一组唯一的8位数
             //截取生成唯一8位数的开头字符,并进行判断是否为0,如果是0开头的话,就跳出循环
             $if_num = substr($number, 0,1); 
             if ($if_num==0) {
                 continue;
             }
             //判断$arr数组中是否存在生成的$number,存在的话就跳出循环
             if (in_array($number, $arr)) {
                 echo "error";
                 continue;
             }else{ //如果$arr数组中不存在生成的$number,就将$number存入$arr数组
                 array_push($arr, $number);
             }
             echo $number."</br>";
        }

        // echo "<pre>";
        // var_dump($arr);
    }
}

$class = new ClassName();

return $class->nonceStr();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值