作者liaosankai (低温烘焙)
看板PHP
标题Re: [请益] 重发:取大量不重复乱数(包含特定英文)
时间Wed May 28 16:13:05 2008
※ 引述《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
1F:推 ottokang:uniqid()可以产生几乎不可能重复的数值,去PHP手册翻翻看 06/02 15:46