O que é o gerador de números aleatórios em PHP?

Neste artigo, aprenderemos sobre um gerador de números aleatórios em PHP. Então, o que é gerador de números aleatórios?

Podemos gerar números aleatórios ou números inteiros usando funções internas. O que essas funções fazem? Essas funções dentro de um intervalo de min e max geram diferentes conjuntos de números. E toda vez que você chama essa função, ele gera um número único. Podemos gerar dígitos numerados como número de 2 dígitos, número de 3 dígitos e assim por diante.

Os números são embaralhados dentro do intervalo e são gerados de acordo. Existem várias funções internas para gerar números aleatórios.

Funções do gerador de números aleatórios

Agora aprenderemos sobre diferentes funções que geram números pseudo-aleatórios:

  • Função rand () sem faixa, função rand () com faixa: Esta função quando chamada retorna um número aleatório. Quando o mínimo e o máximo são fornecidos à função, ele gera um número aleatório dentro do intervalo.
  • Função mt_rand (): Esta função é semelhante a rand (). mt em mt_rand () significa Mersenne Twister. A função mt_rand () é um gerador de números aleatórios e retorna um valor inteiro. Ele gera um número pseudo-aleatório, como a função rand (). Foi o primeiro gerador de números pseudo-aleatórios. É uma forma avançada de gerador de números aleatórios mais antigo. É rápido, eficiente e fornece números inteiros de alta qualidade.
  • Função getrandmax (): não há parâmetros definidos para esta função e, como o nome sugere, ela retorna o número aleatório maior ou máximo possível.
  • Função mt_getrandmax (): É semelhante à função getrandmax () e também retorna o número aleatório maior ou máximo possível. Aqui, novamente, mt significa Mersenne Twister, que é um algoritmo para gerar números aleatórios.
  • Função srand (seed): Esta função semeia o gerador de números aleatórios com o valor de semente fornecido, se não for fornecida essa função semeia com um número aleatório
  • mt_srand (seed): Esta função é semelhante à função srand () e esta função semeia o gerador de números aleatórios com o valor de semente fornecido.

Vamos aprender a sintaxe seguida pelos exemplos de cada tipo de função mencionado.

1. Função rand ()

Sintaxe:

rand()

Exemplo:

<_?php
// program to generate random integer value
echo '
'.'Following are the different random values';
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
?>
// program to generate random integer value
echo '
'.'Following are the different random values';
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
?>
// program to generate random integer value
echo '
'.'Following are the different random values';
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
?>
// program to generate random integer value
echo '
'.'Following are the different random values';
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
echo ' ';
echo '
'. rand();
?>

Resultado:

2. Função rand () dentro de um determinado intervalo

Esta função fornece o alcance da função rand ().

Sintaxe:

rand(min, max);

onde min é o valor mínimo opcional e indica o valor numérico mais baixo e max é o valor máximo opcional e indica o valor numérico mais alto.

Além disso, min possui um valor padrão de zero e max possui um valor padrão de valor da função getrandmax (). O tipo de retorno da função é sempre um número inteiro.

Exemplo:

<_?php
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo ' ';
echo '
Range : 1 to 100 ----> '. rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. rand(5, 25);
echo ' ';
echo '
Range 10000 to 50000 --->'. rand(10000, 50000);
?>
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo ' ';
echo '
Range : 1 to 100 ----> '. rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. rand(5, 25);
echo ' ';
echo '
Range 10000 to 50000 --->'. rand(10000, 50000);
?>
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo ' ';
echo '
Range : 1 to 100 ----> '. rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. rand(5, 25);
echo ' ';
echo '
Range 10000 to 50000 --->'. rand(10000, 50000);
?>
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo ' ';
echo '
Range : 1 to 100 ----> '. rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. rand(5, 25);
echo ' ';
echo '
Range 10000 to 50000 --->'. rand(10000, 50000);
?>

Resultado:

3. Função mt_rand ()

Sintaxe:

int mt_rand(min, max)

onde min é valor opcional e indica o número mais baixo e max é valor opcional e indica o número mais alto. O valor padrão de min é 0 e o valor padrão de max é o valor mais alto fornecido. O tipo de retorno é um número inteiro.

Exemplo:

<_?php
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo ' ';
echo '
Range : 1 to 100 ----> '. mt_rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. mt_rand(5, 25);
echo ' ';
echo '
Range 9 to 19 --->'. mt_rand(9, 19);
?>
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo ' ';
echo '
Range : 1 to 100 ----> '. mt_rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. mt_rand(5, 25);
echo ' ';
echo '
Range 9 to 19 --->'. mt_rand(9, 19);
?>
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo ' ';
echo '
Range : 1 to 100 ----> '. mt_rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. mt_rand(5, 25);
echo ' ';
echo '
Range 9 to 19 --->'. mt_rand(9, 19);
?>
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo ' ';
echo '
Range : 1 to 100 ----> '. mt_rand(1, 100);
echo ' ';
echo '
Range 5 to 25 ---->'. mt_rand(5, 25);
echo ' ';
echo '
Range 9 to 19 --->'. mt_rand(9, 19);
?>

Resultado:

4. Função getrandmax ()

Sintaxe:

mt_getrandmax();

Esta função retorna um valor inteiro

Exemplo :

<_?php
// program to generate random integer values
//using getrandmax() function
echo 'Random number using getrandmax() function';
echo ' ';
echo(getrandmax());
echo ' ';
?>
// program to generate random integer values
//using getrandmax() function
echo 'Random number using getrandmax() function';
echo ' ';
echo(getrandmax());
echo ' ';
?>
// program to generate random integer values
//using getrandmax() function
echo 'Random number using getrandmax() function';
echo ' ';
echo(getrandmax());
echo ' ';
?>

Resultado:

5. Função mt_getrandommax ()

Sintaxe:

mt_getrandmax();

Esta função retorna um valor inteiro.

Exemplo:

<_?php
// program to generate random integer values
//using mt_getrandmax() function
echo 'random number using mt_getrandmax() function';
echo ' ';
echo(mt_getrandmax());
?>
// program to generate random integer values
//using mt_getrandmax() function
echo 'random number using mt_getrandmax() function';
echo ' ';
echo(mt_getrandmax());
?>

Resultado :

6. Função srand ()

Sintaxe:

srand(seed);

Onde a semente é um valor opcional e essa função não retorna nada.

Exemplo:

<_?php
// program to generate random integer value
echo 'example using srand';
echo '
'. srand(3);
echo(rand(1, 5));
echo ' ';
echo 'example using srand';
echo '
'. srand(2);
echo(rand(1, 5));
?>
// program to generate random integer value
echo 'example using srand';
echo '
'. srand(3);
echo(rand(1, 5));
echo ' ';
echo 'example using srand';
echo '
'. srand(2);
echo(rand(1, 5));
?>

Resultado:

7. Função mt_srand ()

Exemplo:

<_?php
// program to generate random integer value using mt_srand() function
echo 'example using mt_srand';
echo ' ';
mt_srand(5);
echo mt_rand(1, 5);
?>
// program to generate random integer value using mt_srand() function
echo 'example using mt_srand';
echo ' ';
mt_srand(5);
echo mt_rand(1, 5);
?>

Resultado:

Inteiros de Geração

No exemplo a seguir, usamos rand (), rand (min, max) e mt_rand ().

Exemplo:

<_?php
// program to generate random integer value
echo 'Following are the different random values';
echo '
Any random number ---->'. rand();
echo '
Any random number ---->'. rand();
echo ' ';
// random number with range
echo 'Following are the different random values within a range ';
echo '
Any random number within the range from 0 to 9----> '. rand(0, 9);
echo '
Any random number within the range from 1000 to 9999 ---->'. rand(1000, 9999);
echo ' ';
// random number with range
echo 'Following are the different random values using mt_rand() ';
echo '
Using mt_rand()---->'. mt_rand(1000, 9999);
echo '
Using mt_rand()---->'. mt_rand(100, 999);
?>
// program to generate random integer value
echo 'Following are the different random values';
echo '
Any random number ---->'. rand();
echo '
Any random number ---->'. rand();
echo ' ';
// random number with range
echo 'Following are the different random values within a range ';
echo '
Any random number within the range from 0 to 9----> '. rand(0, 9);
echo '
Any random number within the range from 1000 to 9999 ---->'. rand(1000, 9999);
echo ' ';
// random number with range
echo 'Following are the different random values using mt_rand() ';
echo '
Using mt_rand()---->'. mt_rand(1000, 9999);
echo '
Using mt_rand()---->'. mt_rand(100, 999);
?>
// program to generate random integer value
echo 'Following are the different random values';
echo '
Any random number ---->'. rand();
echo '
Any random number ---->'. rand();
echo ' ';
// random number with range
echo 'Following are the different random values within a range ';
echo '
Any random number within the range from 0 to 9----> '. rand(0, 9);
echo '
Any random number within the range from 1000 to 9999 ---->'. rand(1000, 9999);
echo ' ';
// random number with range
echo 'Following are the different random values using mt_rand() ';
echo '
Using mt_rand()---->'. mt_rand(1000, 9999);
echo '
Using mt_rand()---->'. mt_rand(100, 999);
?>

Resultado:

Números de ponto flutuante de geração

Os números de ponto flutuante representam um número com decimais que são do tipo float. Exemplos - 10.0, 8.12, 6.23e-5, 2.345, 2.98e + 10 e mais.

Exemplo:

<_?php
function fun($min, $max) (
$square_root = sqrt(4);
return mt_rand($min * $square_root, $max * $square_root) / 100;
)
echo 'Program to display floating point numbers ';
echo ' ';
echo "
".fun(1, 10, 2);
?>
function fun($min, $max) (
$square_root = sqrt(4);
return mt_rand($min * $square_root, $max * $square_root) / 100;
)
echo 'Program to display floating point numbers ';
echo ' ';
echo "
".fun(1, 10, 2);
?>

Resultado:

Conclusão

Neste artigo, aprendemos sobre várias funções usadas para gerar um número aleatório no PHP. Essas funções são explicadas com exemplos de amostra. Espero que este artigo seja útil para quem deseja aprender um gerador de números aleatórios em PHP.

Artigos recomendados

Este é um guia para o Random Number Generator no PHP. Aqui discutimos as diferentes funções do gerador de números aleatórios em php, juntamente com seus exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. While Loop em PHP (Exemplos)
  2. Padrões de estrelas em PHP
  3. 10 tipos de classificação em PHP
  4. Programação de soquetes em PHP
  5. Guia completo para classificação em c # com exemplos
  6. Função de classificação em Python com exemplos
  7. Programação de soquete em Python