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
add a note

User Contributed Notes

There are no user contributed notes for this page.