Sto generando un codice a 6 cifre dai seguenti caratteri. Questi saranno usati per stampare su adesivi.
Verranno generati in lotti di 10k o meno (prima della stampa) e non prevedo che ci saranno mai più di 1-2 milioni di totali (probabilmente molto meno).
Dopo aver generato i batch di codici, controllerò il database MySQL dei codici esistenti per garantire che non vi siano duplicati.Generazione di un codice univoco a 6 cifre
// exclude problem chars: B8G6I1l0OQDS5Z2
$characters = 'ACEFHJKMNPRTUVWXY4937';
$string = '';
for ($i = 0; $i < 6; $i++) {
$string .= $characters[rand(0, strlen($characters) - 1)];
}
return $string;
- E 'questo un approccio solido per la generazione del codice?
- quante possibili permute ci sarebbero? (Codice a 6 cifre dal pool di 21 caratteri). matematica Siamo spiacenti, non è il mio punto di forza
ci sono alcuni buoni post qui su vari approcci: http: // StackOverflow. it/questions/1846202/php-how-to-generate-a-random-unique-alfanumerico-string –
Se non hai bisogno di più di 8 milioni di codici e codici brevi e non ambigui è una priorità alta direi che hai un buon modo per farlo – SEngstrom