看板 PHP 關於我們 聯絡資訊
$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% 保證這個序號是不重複的,請問該怎麼做 感謝 ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.190.190 ※ 編輯: high5566 來自: 61.222.190.190 (05/23 14:19)
gamewolf:把發過的記錄起來啊,然後再去比對。不然就用流水號 ~__~ 05/23 14:32
arrack:同樓上 05/23 14:43
MrMarcus:上萬個的話,改用mt_rand(). rand()在這個數量會產生很多 05/24 02:01
MrMarcus:重複的結果。 05/24 02:01
MrMarcus:如果你只要做一次這件事,那有個偷吃步的方式是很快建立 05/24 02:03
MrMarcus:.......呃算了這做法不好 當我沒說:P 05/24 02:03
JimmyLi:試試看 uniqid() 05/26 21:27