【发布时间】:2015-03-10 18:21:56
【问题描述】:
我已经制作了一个随机字符生成器,但是如何检查数据库中是否已经存在结果?
例如,如果我想要 5000 个结果,并且 1 个结果等于数据库中的一个结果,它必须在 for 循环中创建一个新结果。
$previous = array();
for ($i=1; $i<=$quantity; $i++){
$unique_found = false;
while(!$unique_found){
$a = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$b = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$c = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$d = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$code = "$a-$b-$c-$d";
if(!in_array($code,$previous)){
$unique_found = true;
$previous[] = $code;
echo .$code .'<br>';
}
}
}
【问题讨论】:
-
你在上面的代码中遇到了什么问题??
-
您可以查看数据库,但如果您的数据太多怎么办?我喜欢建议 Timestamp();的 php 每次都会为您提供唯一的密钥。