Vous êtes ici > Liste des fonctions PHP et MySQL > Description de la fonction rand()

Accès au manager - réservé aux membres

Navigation

Moteurs de recherches sur les fonctions

Lancer une recherche sur les fonctions php et mysql

recherche

Fonction rand()

Définition


Génère une valeur aléatoire - (PHP 4, PHP 5)

Description

int rand ( void )
int rand ( int $min , int $max )

Appelée sans les options min et max , rand() retourne un nombre pseudoaléatoire entre 0 et RAND_MAX. Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15).

Note: Sur quelques plates-formes (par exemple, Windows), RAND_MAX est limité à 32768. Si vous désirez une limite supérieure à 32768, en spécifiant min et max , vous serez autorisés à utiliser un intervalle plus grand que RAND_MAX, ou bien, utilisez la fonction mt_rand() à la place.

Note: Depuis PHP 4.2.0, vous n'avez plus besoin d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand() car c'est fait automatiquement.

Liste de paramètres

min

La plus petite valeur à retourner (par défaut, 0)

max

La plus grande valeur à retourner (par défaut, RAND_MAX)

Valeurs de retour

Une valeur pseudoaléatoire, comprise entre min (ou 0) et max (ou RAND_MAX, inclusif).

Historique

Version Description

Depuis la version 3.0.7 Dans les versions antérieures à la 3.0.7 la signification du paramètre max était longueur. Pour avoir le même résultat, il faut utiliser mt_rand (5, 11) pour obtenir un nombre aléatoire entre 5 et 15.

Exemples

Exemple #1 Exemple avec rand()

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

echo 
rand(515);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

7771
22264
11



Bouts de code utilisant la fonction rand()

Cryptage et decryptage

<?php /* ... */
      srand((double)microtime()*1000000); 
      $encrypt_key md5(rand(0,32000)); 
      $ctr=0/* ... */ ?>


Générateur d'image Captcha pour formulaire de validation

<?php /* ... */
for( $i=0$x=0$i<$longueur$i++ ) {
   $charactere substr($listerand(0strlen($liste)-1), 1);
   $x += 10 mt_rand(0,10);
/* ... */ ?>


Captcha utilisant les sessions 2 (avec contrôle JS)

<?php /* ... */
// Captcha
$nb1 rand(15);
$nb2 rand(15);
/* ... */ ?>


Vérifier la primalité d'un nombre

<?php /* ... */
    {
        $nb rand(0,1000000000);
    }
/* ... */ ?>


Génération de password aléatoire

<?php /* ... */
    for($i=0$i<8$i++){
        @$pass .= $chaine[rand()%strlen($chaine)];
        }
/* ... */ ?>


Poster un commentaire

:P :) :wink: :lol: :surprised: :confused: :mad: :no:
Taille du texte:
Couleur:
Code de sécurité