PHP生成具有唯一性隨機數字或混合字符串函數

在項目開發中,我們常常會需要生成一些包含隨機數字或字符、並在項目中具有唯一性的數字或字符串,如訂單號、收支流水號等等,方法有很多,以下分享我的一種思路。

 


    /**
     * 隨機生成流水號函數:
     * @id int 數據表中具有唯一性的ID號
     * @return string 返回具有唯一性的22位純數字字符串
     */
    public function getFlowNumber($id)
    {
        $str = date('YmdHis') . substr($id . rand(100000000, 9999999999), 0, 8);
        return $str;
    }

 

說明:

1,由於傳入的$id本身取自數據表中的唯一ID,事實上相同帳號操作生成的字符串基本上可以保證唯一性了,即使多點登陸,同時操作生成,重複的概率也較低,當然,後邊再拼接隨機數並取其中的8位,其唯一性應該是可以保證的;

2,如果需要的是數字字母混合的字符串,也可以使用其它隨機種子或MD5等方式生成隨機部分的字符串;

3,寫入數數據庫時注意選用適當的數據類型;

如果文章對你有幫助,請打開支付寶搜索535149388,領取馬雲的紅包,使用餘額寶消費可抵扣,大家好,纔是真的好。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章