Re: [請益] 重發:取大量不重複亂數(包含特定英文)

看板PHP作者 (低溫烘焙)時間17年前 (2008/05/28 16:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《high5566 (超high的5566)》之銘言: : $ran_chars = '23456789ABCDEFGHJKMNPQRSTUVWXYZ'; : $n=0; : while($n<10){ // 測試是 10 筆,需求是大量,上萬 ... : $ran_string="^_<"; : for($i = 0; $i < 10; $i++){ : $ran_string .= $ran_chars[rand(0, 31)]; : } : } : 這個用途是產生序號的 : 需求 1 : 產生開頭都是 ^_< 的序號 : 需求 2 : 因為常常使用者會分不清楚 o O I L : 所以就決定乾脆全部都大寫,然後把上面的字元拿掉 : 這行程式可以產生 31 的 10 次方的亂數,雖然已經夠亂了 : 但還是要 100% 保證這個序號是不重複的,請問該怎麼做 : 感謝 ~ =__=產生唯一不重複的亂數是吧? 試試看這 $head = '^_<'; $randID = $head.md5(uniqid(rand())); -- 我的樂多網誌http://blog.roodo.com/liaosankai -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.105.48.53

06/02 15:46, , 1F
uniqid()可以產生幾乎不可能重複的數值,去PHP手冊翻翻看
06/02 15:46, 1F
文章代碼(AID): #18FHGL0l (PHP)
文章代碼(AID): #18FHGL0l (PHP)