Originariamente inviato da losker
Dovrei generare una stringa numerica di n caratteri che deve essere univoca ogni volta
Come posso fare per generare la stringa?
E per essere sicuro che sia univoca devo per forza controllare nel mio db le altre stringhe per vedere che non sia stata generata una uguale?
Penso che per "stringa numerica di n caratteri" tu intenda una "stringa numerica di n cifre". In questo caso, se hai una versione PHP inferiore alla 4.2, devi prima inizializzare il generatore di numeri casuali:
Codice PHP:
// inizializza usando i microsecondi
function crea_seme()
{
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand((double)microtime()*1000000);
$valorecasuale = rand();
A questo punto, puoi generare la tua stringa univoca utilizzando la funzione date:
Codice PHP:
$stringa = date("YmdHis").rand(10000,19999)
In questo caso, hai una stringa di 14 (funzione date) + 5 (funzione rand) cifre che con buona probabilità risulterà sempre univoca.