Génère une valeur aléatoire

# rand

(PHP 4, PHP 5, PHP 7)

rand — Génère une valeur aléatoire

### Description

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

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

Attention

Cette fonction ne génère pas de valeurs sécurisées d'un point de vue cryptographique, et ne doit pas être utilisée dans un contexte de chiffrement. Si vous avez besoin d'une valeur sécurisée d'un point de vue cryptographique, utilisez plutôt random_int(), random_bytes(), ou openssl_random_pseudo_bytes().

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

> Note: À partir de php 7.1.0, rand() utilise le même générateur de nombres aléatoires que mt_rand(). Pour préserver la compatibilité ascendante, rand() permet à `max` d'être plus petit que `min` par opposition au retour `FALSE` de mt_rand()

### Liste de paramètres

`min`

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

`max`

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

### Valeurs de retour

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

### Historique

Version | Description
--- | ---
7.2.0 | rand() a reçu une correction de bogue pour un bug de polarisation modulo. Cela signifie que les séquences générées dans certain cas spécifiques peuvent différer de php 7.1 sur les machines 64-bit.
7.1.0 | rand() a été fait un alias de mt_rand().

### Exemples

Exemple #1 Exemple avec rand()

`<?php
echo rand() . "\n";
echo rand() . "\n";
echo rand(5, 15);
?>`

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

    7771
    22264
    11

### Notes

Avertissement

La plage `min` `max` doit se situer dans la plage getrandmax(). i.e. (`max` - `min`) <= getrandmax() sinon, rand() peut retourner des nombres aléatoires de mauvaise qualité.

### Voir aussi

- srand() - Initialise le générateur de nombres aléatoires
- getrandmax() - Plus grande valeur aléatoire possible
- mt_rand() - Génère une valeur aléatoire via le générateur de nombre aléatoire Mersenne Twister
- random_int() - Génère des nombres entiers pseudo-aléatoire cryptographiquement sécurisé
- random_bytes() - Génère des octets pseudo-aléatoire cryptographiquement sécurisé
- openssl_random_pseudo_bytes() - Génère une chaine pseudo-aléatoire d'octets