php - 如何检查随机字符生成器的重复结果

标签 php

我制作了一个随机字符生成器,​​但如何检查结果是否重复?
例如,如果我想要 100000 个结果,如何检查 100000 个结果中的某个结果是否不重复?

for ($i=0; $i<$quantity; $i++){
$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";
echo $code .'<br>';
}

提前致谢!

最佳答案

也许是这样的?使用 in_array()

$previous = array();

for ($i=0; $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>';
        }
    }

}

关于php - 如何检查随机字符生成器的重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28943532/

相关文章:

php - 从链接中激活外部 href onclick

php - 从名称与 "x"相似的数据库中提取数据

php - 我如何让搜索引擎显示我网站上的产品?

php - Backend\Controllers\Users 必须定义属性 $relationConfig

php - 就业经历的差距

php - 内部服务器错误 500,运行 Yii 时出现内存不足错误

PHP 根据工作日查找日期

php - 删除 WWW 的表单。并在输入上打印结果?

php - 从 ffmpeg shell_exec 命令中检索信息

php - Yii2 Pjax 不工作,重新加载整个页面