mt_rand

(PHP 4, PHP 5, PHP 7)

mt_randGerador melhorado de números aleatórios

Descrição

mt_rand ( void ) : int
mt_rand ( int $min , int $max ) : int

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 chamada sem os argumentos opcionais min e max, mt_rand() retorna um pseudo número aletório enrte 0 e mt_getrandmax(). se você precisa de um número randômico entre 5 e 15 (inclusive), por exemplo, utilize mt_rand (5, 15).

Nota: A partir do PHP 4.2.0, não é mais necessário semear o gerador de números aleatórios com srand() ou mt_srand() pois isso é feito automaticamente.

Parâmetros

min

Menor valor opcional para ser retornado (padrão: 0)

max

Maior valor opcional para ser retornado (padrão: mt_getrandmax())

Valor Retornado

Um valor inteiro entre min (ou 0) e max (ou mt_getrandmax(), inclusive)

Changelog

Versão Descrição
Desde o 3.0.7 Em versões anteriores a 3.0.7, o significado do parâmetro max era range. Assim, para obter os mesmos resultados do exemplo acima, você precisaria utilizar rand (5, 11) para obter um número aleatório entre 5 e 15.

Exemplos

Exemplo #1 mt_rand() example

<?php
echo mt_rand() . "\n";
echo 
mt_rand() . "\n";

echo 
mt_rand(515);
?>

O exemplo acima irá imprimir algo similar à:

1604716014
1478613278
6

Veja Também

  • mt_srand() - Semeia o gerador melhorado de números aleatórios
  • mt_getrandmax() - Retorna o maior valor aletório possível
  • rand() - Gera um inteiro aleatório