Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WHR

Gerar numeros automaticamente

Recommended Posts

Boa tarde pessoal, como faço para gerar números aleatorios automaticamente com até 13 numeros?

 

Desde já agradeço a ajuda

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for de 1 a 13 algarismos:

$num = rand(0,9999999999999);

 

Se for de 13 a 13 algarismos:

$num = rand(1000000000000,9999999999999);

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitos geradores de números aleatórios das libcs antigas são duvidosos ou com características duvidosas e lentos. Por default, o PHP utiliza o gerador de números aleatórios da libc para a função rand(). A função mt_rand() é um bom substituto para a primeira. Ela utiliza um gerador de números aleatórios com características conhecidas, o » Mersenne Twister, que produzirá números randômicos quatro vezes mais rápido que média provida pela rand() da libc.

Se o assunto te interessar, dê uma olhada nesse site: http://random.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitos geradores de números aleatórios das libcs antigas são duvidosos ou com características duvidosas e lentos. Por default, o PHP utiliza o gerador de números aleatórios da libc para a função rand(). A função mt_rand() é um bom substituto para a primeira. Ela utiliza um gerador de números aleatórios com características conhecidas, o » Mersenne Twister, que produzirá números randômicos quatro vezes mais rápido que média provida pela rand() da libc.

Se o assunto te interessar, dê uma olhada nesse site: http://random.org/

 

 

Obrigado amigo pela info e pelo material indicado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu conheço esse Script que gera códigos aleatórios com numeros e/ou letras. Talvez lhe sirva pra algo.

 

script.php

// constantes usadas no argumento RAND_TYPE da função code_rand()
define ("RAND_NUM", 2); //Cria códigos contendo somente números
define ("RAND_ALPHA", 3); //Cria códigos contendo apenas letras
define ("RAND_BOTH", 4); //Cria códigos contendo letras e números.

function code_rand ($size = 6, $type = 4)
{
if ($size < 6)
{
echo "<strong>Erro:</strong> O parâmetro <em>size</em> da função <strong>".__FUNCTION__."()</strong> deve ser maior do que 6";
return false;
}
if ($size > 50)
{
echo "<strong>Erro:</strong> O parâmetro <em>size</em> da função <strong>".__FUNCTION__."()</strong> deve ser menor do que 50";
return false;
}

/*
A variável $ok fará a verificação do argumento RAND_TYPE. Se o valor do argumento for válido, o valor da variável passa de "false" para "true".
*/
$ok = false;
if ($type == 2)
$ok = true;
if ($type == 3)
$ok = true;
if ($type == 4)
$ok = true;

if ($ok === false)
{
echo "<strong>Erro:</strong> Valor inválido para o parâmetro <em>RAND_TYPE</em> da função <strong>".__FUNCTION__."()</strong>";
return false;
}

$up_letters = range ("A", "Z");// letras em caixa alta (upper case)
$low_letters = range ("a", "z");// letras em caixa baixa (lower case)
$letras = array_merge ($low_letters, $up_letters);// letras maiúsculas e minúsculas
$numeros = range (0, 9);// números de 0 a 9

if ($type == 2)// se RAND_TYPE for RAND_NUM
{
$elementos = $numeros;

//gera um array com, pelo menos, 50 elementos
$m = count($numeros);
while ($m < 50)
{
$elementos = array_merge ($elementos, $numeros);
$m += count ($numeros);
}
}
if ($type == 3)// se RAND_TYPE for RAND_ALPHA
$elementos = $letras;
if ($type == 4)// se RAND_TYPE for RAND_BOTH
$elementos = array_merge ($letras, $numeros);

$x = array_rand ($elementos, $size);// gera um array com $size elementos contendo as chaves do array $elementos
sort ($x);
reset ($x);

for ($c = 0; $c < $size; $c++)
{
$cod[$c] = $elementos[$x[$c]];
}


//Se RAND_TYPE for RAND_BOTH, no mínimo um terço dos elementos do código deverá ser números.
if ($type === 4)
{
$num_count = 0;// variável que armazenará o total de números do código
for ($z = 0; $z < 10; $z++)
{
if (in_array ($z, $cod, TRUE))
$num_count++;
}
$um_terco = (int)($size / 3);// um terço de $size
if ($num_count < $um_terco)//se o total de números for menor que um terço de $size
{
$num_que_faltam = $um_terco - $num_count;// quantos números faltam para chegar a $um_terco
for ($w = 1; $w <= $num_que_faltam; $w++)
{
array_shift ($cod);// retira o primeiro elemento do array (sempre uma letra)
$key_num = array_rand ($numeros, 1);// sorteia uma chave do array $numeros
array_push ($cod, $numeros[$key_num]);// adiciona um número no final do array $cod
}
}
}
shuffle ($cod);// embaralha os elementos do array, para que não fiquem letras minúsculas seguidas de maiúsculas seguidas de números.
$code = implode ("", $cod);

return $code;
}

Uso:

EXEMPLOS DE USO DA FUNÇÃO

-Gera um código com 6 caracteres, dentre letras e números

echo code_rand (6);

-Gera um código com 20 algarismos inteiros

echo code_rand (20, RAND_NUM);

-Gera um código com 35 letras

echo code_rand (35, RAND_ALPHA);

-Gera um código com 50 caracteres, dentre letras e números

echo code_rand (50, RAND_BOTH);

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho este codigo bem simples que gera numeros e letras, nao tao completo como o do andre...

 

for ($i=0; $i<13; $i++) {
	$tipo_carac = rand(0,2);
	switch($tipo_carac) {
	   case 0: $carac = chr(rand(65,90));
				 		break;
		   case 1: $carac = chr(rand(97,122));
					break;
	   case 2: $carac = chr(rand(48,57));
					break;
	   default:
		break;
	}
	  $aleatorio .= $carac;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.