rand()
Podemos gerar números aleatórios usando a função rand() do php:
<?php
echo rand();
?>
Após atualizar o navegador 3 vezes tenho o seguinte resultado:
107210000
267023894
2038606130
Podemos ainda especificar um valor mínimo e máximo, um intervalo. Assim irá gerar números entre 1 até o 5.
<?php
echo rand(1,5);
?>
Se você precisa de um número aleatório entre 5 e 15 (inclusive), por exemplo, utilize: rand(5, 15)
É mais rápido usar operações bitwise quando precisamos de um número aleatório menor que uma potência de dois.
Exemplo 01: ao invés de rand(0,5) podemos usar:
<?php
echo rand()&5;
?>
Exemplo 02: ao invés de rand(0,7) podemos usar:
<?php
echo rand()&7;
?>
Acima usamos bitwise que é mais rápida do que a matemática básica.
getrandmax()
Podemos usar a função getrandmax() para retornar o maior valor suportado por rand():
<?php
echo getrandmax();
?>
2147483647
Obs.: Em alguns sistemas operacionais, como o Windows, o maior número gerado por getrandmax() é 32768. Mas, se quisermos um número bem maior podemos usar rand(min, max), como em:
<?php
echo rand(1 , 2147483647);
?>
srand()
srand() é apenas um semeador usado com conjunto com a função rand().
A sintaxe é essa:
srand(semente);
Semente é alguma função como mktime() ou microtime()…
A partir do PHP 4.2.0, o gerador de números aleatórios, rand, é semeado automaticamente e não há necessidade de usar a função srand().
A partir da versão 7.1.0 do PHP, o srand() é um apelido(alias) para mt_srand().
A função srand() semeia valores no rand. Rand é um gerador de números aleatórios.
srand() usar um gerador de números aleatórios para evitar que um padrão de repetição seja gerado.
<?php
srand(mktime());
echo(rand());
?>
2147483647