Gera um número inteiro aleatório

# rand

(PHP 4, PHP 5, PHP 7, PHP 8)

rand — Gera um número inteiro aleatório

### Descrição

function rand(): int
function rand(int `$min`, int `$max`): int

Se chamado sem os argumentos opcionais `min`, `max` rand() retorna um número inteiro pseudo-aleatório entre 0 e getrandmax(). Se a intenção for obter um número aleatório entre 5 e 15 (inclusive), por exemplo, use `rand(5, 15)`.

Cuidado

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.

Cuidado

Esta função usa a instância global do Mt19937 (“Mersenne Twister”) como a fonte de aleatoriedade a por isso compartilha seu estado com todas as outras funções que usam o Mt19937 global. Usar qualquer uma destas funções avança a sequência para todas as outras funções, independentemente do escopo.

Gerar sequências repetíveis ao semear mt_srand() ou srand() com um valor conhecido também gerará saída repetível desta função.

Prefira usar métodos de Random\Randomizer em todo código novo.

> Nota: Anteriormente ao PHP 7.1.0, getrandmax() resultava em apenas 32767 em algumas plataformas (como o Windows por exemplo). Se for necessário um intervalo maior que 32767, especificar `min` e `max` permitirá a criação de um intervalo maior que esse ou pode ser considerado usar mt_rand() alternativamente.

> Nota: 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 que `min` em vez de retornar `false` 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 descontinuação 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

Exemplo #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

Aviso

O intervalo `min` `max` deve estar dentro do intervalo getrandmax(). Ou seja, abs(`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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open