事实证明,这样来生成5万个不同的随即码,效率还是很高的,数组的大小限制也完全足够应付了。
<?php
$beginTime = microtime(TRUE);
$min = 100000;
$max = 999999;
$isRand = $rands = array();
for ($i=1;$i<=50000;$i++) {
do {
$rand = mt_rand($min, $max);
} while (isset($isRand[$rand]));
$rands[] = $rand;
$isRand[$rand] = true;
if ($i%500 == 0) {
// xxxx($rands); //调用函数生成批量插入语句,插入数据库
$rands = array(); //这个用来保存500条随即码
}
}
echo microtime(TRUE) - $beginTime;
echo '<pre>', print_r($isRand, true), '</pre>';
?>
不包括插入数据库部分,执行时间仅为0.1秒,而且我用的还是一台破电脑,效率还是很高的。