tupinikin 1 Denunciar post Postado Março 18, 2015 Bom dia a todos os participantes. Preciso gerar um número de 12 dígitos o qual não se pode ter iguais É melhor trabalhar com o timestamp ou mt_rand ?? Serão alguns milhões de registros Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Março 18, 2015 Bom dia, amigo. Fiz o seguinte: $number = ''; for($a = 0; $a < 12; $a++): $number .= rand(0, 9); endfor; echo $number; Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Março 18, 2015 O problema é que vc nunca saberá se vai ser repetido ou não, ao menos que você guarde os valores já usados em algum lugar. Se atente a isso. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 18, 2015 Em situações assim, é preciso controlar a lista de opções, para evitar repetições, como o Maykel-ctba salientou. Uma alternativa simples é usar um array como amostra de dados e utilizar a função array_rand() para sortear valores. A cada valor sorteado, remova-o do array. Compartilhar este post Link para o post Compartilhar em outros sites
tupinikin 1 Denunciar post Postado Março 18, 2015 Obrigado galera. Wanderson Valerio eu estava fazendo quase desse jeito ai. Maykel-ctba e Beraldo. eu não tinha pensado nisso, sortear um valor e remove-lo da lista, acho que essa vai ser a solução. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Henrique da Costa 14 Denunciar post Postado Março 18, 2015 Não sei se é isso que voce quer, mas eu fiz isso... <?php $contador = 0; $valores = array(); do{ $valor = rand(100000,999999); if(in_array($valor,$valores)==false){ $contador++; $valores[$contador] = $valor; } }while($contador < 12); echo "<pre>"; print_r($valores); ?> Compartilhar este post Link para o post Compartilhar em outros sites