PHP生成4char AZ,az,0-9的所有可能变体

Mik*_*ike 2 php recursion permutation

我必须列出所有可能的4个字符AZ,az,0-9和所有这些的组合.我如何通过所有可能的组合并打印它们?

它的用途是什么:我需要在一个html文档中创建它,然后我可以打印并将所有这些作为我们大学的随机唯一用户名,这样学生就可以根据一个在使用时无效的唯一ID提供反馈.我无法将此程序更改为更好的程序!

sco*_*fey 6

警告:这需要一些时间来计算,因为有62 ^ 4 = 14776336种可能的组合.如果累积结果并且不直接打印它,也会占用大量内存.

function print_combinations($characters, $length, $combination = '') {
        if ($length > 0) {
            foreach ($characters as $i) {
                print_combinations($characters, $length - 1, $combination . $i);
            }
        } else {
            printf("%s\n", $combination);
        }
}

$characters = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9));
print_combinations($characters, 4);
Run Code Online (Sandbox Code Playgroud)