rand
(PHP 4, PHP 5, PHP 7, PHP 8)
rand — Gera um número inteiro aleatório
Descrição
Se chamado sem os argumentos opcionais min
,
max
rand()
retorna um número inteiro pseudo-aleatório entre 0 e
getrandmax(). Se você quiser um número aleatório
entre 5 e 15 (inclusive), por exemplo, use rand(5,
15)
.
Esta função não gera valores criptograficamente seguros e não deve ser usada para propósitos criptográficos ou fins que exijam que os valores retornados sejam impossíveis de adivinhar.
Se aleatoriedade criptograficamente segura for necessária, a classe Random\Randomizer pode ser usada com o mecanismo Random\Engine\Secure. Para casos de uso simples, as funções random_int() e random_bytes() fornecem uma API conveniente e segura que é garantida pelo CSPRNG do sistema operacional.
Note: Em algumas plataformas (como Windows), getrandmax() é apenas 32767. Se você precisar de um intervalo maior que 32767, especificar
min
emax
permitirá a você criar um intervalo maior que esse ou considere usar mt_rand() no lugar.
Note: A partir do PHP 7.1.0, rand() usa o mesmo gerador de números aleatórios que mt_rand(). Para preservar a compatibilidade com versões anteriores, rand() permite que
max
seja menor quemin
em vez de retornarfalse
como mt_rand().
Parâmetros
min
-
O menor valor a ser retornado (padrão: 0)
max
-
O valor mais alto a ser retornado (padrão: getrandmax())
Valor Retornado
Um valor pseudoaleatório entre min
(ou 0) e max
(ou getrandmax(), inclusive).
Registro de Alterações
Versão | Descrição |
---|---|
7.2.0 | rand() recebeu uma correção para um bug de defasagem de módulo. Isso significa que as sequências geradas com uma semente específica podem ser diferentes do PHP 7.1 em máquinas de 64 bits. |
7.1.0 | rand() foi transformado em um apelido de mt_rand(). |
Exemplos
Example #1 Exemplo de rand()
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>
O exemplo acima produzirá algo semelhante a:
7771 22264 11
Notas
O intervalo min
max
deve estar
dentro do intervalo getrandmax(). Ou seja, (max
-
min
) <= getrandmax()
Caso contrário, rand() poderá retornar números aleatórios de baixa qualidade.
Veja Também
- srand() - Semeia o gerador de números aleatórios
- getrandmax() - Mostrar o maior valor aleatório possível
- mt_rand() - Gera um valor aleatório através do Gerador de Números Aleatórios Mersenne Twister
- random_int() - Obtém um número inteiro selecionado uniformemente e criptograficamente seguro
- random_bytes() - Obtém bytes aleatórios criptograficamente seguros