php----随机生成用户名

public function freeName()
    {
        $stime=microtime(true);
        $redis = new \Redis();
        $redis->connect('127.0.0.1');

        $sex = $_POST['sex']?0:1;
        if($sex == 0){
            $sex = 'boy';
        }elseif ($sex == 1){
            $sex = 'girl';
        }
        $length = $redis->sCard($sex);
        if(empty($length)){
            ignore_user_abort(1);
            set_time_limit(0);
            $content = file_get_contents("$sex.txt");
            $rep = str_replace("\r\n", ',', $content);
            $contents= explode(",",$rep);//explode()函数以" "为标识符进行拆分
            foreach($contents as $k=>$v){
                $redis->sAdd($sex,$v);
            }
            $name = $redis->sRandMember($sex);
        }else{
            $name = $redis->sRandMember($sex);
        }

        $info = [
            'dataBase' => $request['area']
        ];
        $return = $this->checkName($name,$info,$sex);

        $etime = microtime(true);
        $total = $etime - $stime;
        var_dump($total);die;


    }

    private function checkName($name,$info,$sex){
        $redis = new \Redis();
        $redis->connect('127.0.0.1');

//        $db = Db::connect('mysql://root:1234@127.0.0.1:3306/username#utf8');
//        $getName = $db ->table($tableName)->field('user_name')->where('user_name',$name)->find();

        $getName = Db::name('girl1')->where('name',$name)->field('name')->find();

        $count = 0;
        if(!empty($getName)){
            $name = $redis->sRandMember($sex);
            $this ->checkName($name,$info,$sex);
            $count++;
            if($count == 30){
                $result=array(
                    'code'=>0,
                    'msg'=>'这么厉害,30W的名字都用完了',
                    'data'=>null
                );
                return $result;
            }
        }else{
            return $name;
        }



    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值