Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá caros colegas!
Ultimamente uma dúvida está perturbando meu juízo. Eu criei o código abaixo que gera uma identificação com 5 números e letras para identificar as linhas de uma tabela (MySQL):
function randomizer($algarismos = 2){
//Array com as letras
$letras = array('A','B','C','D','E','F','G','H','I','J',
'K','L','M','N','O','P','Q','R','S','T',
'U','V','W','X','Y','Z');
//Array sem o zero para o primeiro algarismo
$numeros[0] = array(1,2,3,4,5,6,7,8,9);
//Array com o zero para os demais algarismos
$numeros[1] = array(0,1,2,3,4,5,6,7,8,9);
$fim = '';
//Cria a primeira letra
shuffle($letras);
$fim .= $letras[0];
//Cria a segunda letra
shuffle($letras);
$fim .= $letras[0];
//Cria o primeiro algarismo
shuffle($numeros[0]);
$fim .= $numeros[0][0];
//Cria os demais algarismos
for( $i = 0; $i < $algarismos; $i++ ){
shuffle($numeros[1]);
$fim .= $numeros[1][0];
}
return $fim;
}
echo randomizer();Ela será impressa em uma etiqueta, e colada em livros para identificá-los. Acontece que cada vez que um novo livro precisar ser inserido na tabela, um código aleatório novo precisa ser criado para identificá-lo, e eu não sei comofas para que o código gerado não se repita, entrando assim em conflito com um já existente.
Eu tive a ideia de fazer um loop pra verificar na tabela se esse código gerado já existe, e que só parasse quando encontrasse um valor ainda não usado. Mas ficaria meio lerdo, caso a tabela tenha muitos registros, certo?
Alguém tem uma ideia melhor?
[]'s ;)
Carregando comentários...