首頁  >  文章  >  後端開發  >  php產生五位數邀請碼

php產生五位數邀請碼

不言
不言原創
2018-04-13 14:30:203613瀏覽

這篇文章要跟大家分享的內容是php產生五位數邀請碼,有著一定的參考價值,有需要的朋友可以參考一下

model

 /**
     * 生成邀请码
     * @param $uid
     * @return string
     */
	public function initcode() {
        $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $rand = $code[rand(0,25)]
            .strtoupper(dechex(date('m')))
            .date('d').substr(time(),-5)
            .substr(microtime(),2,5)
            .sprintf('%02d',rand(0,99));
        for(
            $a = md5( $rand, true ),
            $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV',
            $d = '',
            $f = 0;
            $f < 5;
            $g = ord( $a[ $f ] ),
            $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ],
            $f++
        );
        return $d;
    }

    /**
     * 是否重复
     */
    public function recode($code) {
        if ($this->where(&#39;code=&#39;.$code)->find()) {
            return false;
        }
        return true;
    }


action

/**
     * 我的邀请码
     * @author zhangfeng
     */
    public function mycode() {
        $model = M(&#39;Usercode&#39;);
        $uid = ($_GET[&#39;uid&#39;]);
        $code = $model->is_code($uid);
        $this->assign(&#39;code&#39;, $code);
        if (!$code) {
            $code = $this->getcode($model, $uid);
            $res = $model->savecode($uid, $code);
            if ($res) {
                $this->assign(&#39;code&#39;, $code);
            } else {
                $this->assign(&#39;code&#39;, &#39;邀请码生成失败!,错误:&#39;.$model->getError());
            }
        }
        $this->display();
    }

    /**
     * 递归函数获取绝对不重复邀请码
     * @author zhangfeng
     * @param $model
     * @param $uid
     * @return mixed
     */
    private function getcode($model, $uid) {
        $code = $model->initcode($uid);
        if ($model->recode($code)) {
            return $code;
        } else {
            while(true) {
                $this->getcode($model, $uid);
            }
        }
    }

相關推薦:

實例詳解php產生.csv後綴檔案表格的方法

PHP產生帶有logo圖像二維碼的兩種方法

以上是php產生五位數邀請碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn