随机码就是随机生成的一串字符序列,在网页设计中的很多地方都会用到,在PHP中,如何生成大量的不重复的随机码呢?比如,生成5000个由字母数字组成的12位随机码,而且这5000个随机码不能有重复。
具体生成的办法有很多,知蚁这里用的是唯一数值+随机字母的方法,具体做法是:从0循环到5000,每循环一个数字,就去生成一个由字母组成的12位随机码,然后将数字不变顺序的随机替换到字母随机码中。
附代码如下:
PHP语言: 知蚁博客 程序设计
$activecode = array();
$len = 12;
$str = ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’;
for($i=0;$i<5000;$i++){
$code = str_shuffle($str);
$code = substr($code, 0, $len);
$num = strval($i);
$num_len = strlen($num);
$p = -1;
for($j=0;$j<$num_len;$j++){
$p = rand($p+1, ($len-1)-($num_len-$j-1));
$code[$p] = $num[$j];
}
$activecode[] = $code;
}
print_r($activecode);
$len = 12;
$str = ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’;
for($i=0;$i<5000;$i++){
$code = str_shuffle($str);
$code = substr($code, 0, $len);
$num = strval($i);
$num_len = strlen($num);
$p = -1;
for($j=0;$j<$num_len;$j++){
$p = rand($p+1, ($len-1)-($num_len-$j-1));
$code[$p] = $num[$j];
}
$activecode[] = $code;
}
print_r($activecode);
欢迎交流!
原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/20