AA0000-ZZ9999 の範囲ですべての可能な組み合わせを生成するように求められました (これを と呼びましょうfolio)。組み合わせごとに、8 桁の一意の ramdom 番号 (と呼びましょうattcode) も必要です。連続することはできません。多くの組み合わせがあり、プロセスは遅くなりますが、rand関数を使用していて、すべてが一意でなければならないことを検証するattcode必要があるため、コードが遅くなっているので、可能であれば (私はそれを知っています)方法がわかりません)、コードでこれを改善するにはどうすればよいかについての推奨事項を教えてください
$alph = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1);
$code_cache = array();
foreach ($alph as $value1) {
  foreach ($alph as $value2) {
    for ($i = 0; $i <= 9; $i++) {
        $n=$i;
        if($i<10){
            $n="000".$i;
        }
        elseif($i<100){
            $n="00".$i;
        }
        elseif($i<1000){
            $n="0".$i;
        }
        $code = rand(10000000, 99999999);
        while(in_array($code, $code_cache)){
            $code = rand(10000000, 99999999);
        }
        $code_cache[]=$code;
        echo $value1.$value2.$n.'-'.$code.'<br/>';
    }
  }
}