Génère une valeur aléatoire

# rand

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

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

### Description

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

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

Attention

Cette fonction ne génère pas de valeurs cryptographiquement sûres, et ne doit pas être utilisée à des fins cryptographiques, ou à des fins qui exigent que les valeurs renvoyées soient indéchiffrables.

Si de l'aléatoire cryptographiquement sûre est requis, le Random\Randomizer peut être utilisé avec le moteur Random\Engine\Secure. Pour des cas d'usage simple, les fonctions random_int() et random_bytes() fournissent une API pratique et sûre qui est qui est soutenu par le CSPRNG du système d'exploitation.

Attention

Cette fonction utilise l'instance globale Mt19937 ("Mersenne Twister") comme source d'aléatoire et partage ainsi son état avec toutes les autres fonctions utilisant le Mt19937 global. L'utilisation de l'une de ces fonctions fait avancer la séquence pour toutes les autres fonctions, indépendamment de la portée.

Générer des séquences reproductibles en initialisant mt_srand() ou srand() avec une valeur connue produira également une sortie reproductible de cette fonction.

Il est préférable d'utiliser les méthodes de Random\Randomizer dans tout nouveau code.

> Note: Avant PHP 7.1.0, getrandmax() valait seulement 32767 sur certaines plateformes (comme Windows). En cas de besoin d’une plage supérieure à 32767, il est recommandé de spécifier une valeur limite supérieure à 32767, en spécifiant `min` et `max`, l'on sera autorisé à utiliser un intervalle plus grand que mt_getrandmax(), ou bien, utiliser 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 certains cas spécifiques peuvent différer de PHP 7.1 sur les machines 64-bit.
7.1.0 | rand() est devenu un alias de mt_rand().

### Exemples

Exemple #1 Exemple avec rand()

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

    echo rand(5, 15), "\n";
    ?>

Résultat de l'exemple ci-dessus est similaire à :

    7771
    22264
    11

### Notes

Avertissement

La plage `min` `max` doit se situer dans la plage getrandmax(). C.-à-d. abs(`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() - Récupère un entier sélectionné de manière uniforme et cryptographiquement sécurisée
- random_bytes() - Récupère des octets aléatoires cryptographiquement sécurisés

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