作者knives ()
看板PHP
標題[請益] 怎麼保証不會產生重覆的亂數
時間Wed May 12 12:26:41 2010
如果我要產生一萬筆(可能更多 )
而裡面的資料是由
一個陣列像這樣
$my_array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'm',
'n', 'p', '2', '3', '4', '5','6','7','8','9');
利用array_rand的方式 亂數抓10個出來
再把它組合成一個字串,再把字串寫入到資料庫去
之前,我是在寫入到資料庫的時候,又做一次select count 的sql 查詢
可是發現這樣子,整個網頁很容易當(還沒到php 的timeout時間就掛了)
拿掉之後,就比較不會當了
但是我要怎麼確保這些字串絕對不會重覆到,如果不做查詢的話
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.39.194
→ aquarianboy:你是想做序號之類的嗎? 試試uniqid 05/12 12:54
→ knives:可是有辦法,讓產生出來的序號裡面的值是符合我所設定的 05/12 13:04
→ knives:陣列裡面的元素嗎,因為不想要有o0O這些很容易混淆的字出現 05/12 13:06
推 Jerr:用array的key當storage 用count()去count 05/12 13:21
→ knives:不懂樓上的意思,uniqid 不是只能傳pre_fix跟一個位數的值 05/12 13:26
→ knives:嗎 05/12 13:26
→ arrack:不要count 用where看看,我幾十萬筆在產生 也是OK 05/12 13:53