De Rand () PHP-functie

De functie rand () wordt in PHP gebruikt om een ​​willekeurig geheel getal te genereren. De rand () PHP-functie kan ook worden gebruikt om een ​​willekeurig getal binnen een specifiek bereik te genereren, zoals een getal tussen 10 en 30.

Als er geen maximale limiet is opgegeven bij het gebruik van de PHP-functie rand (), wordt het grootste gehele getal dat kan worden geretourneerd, bepaald door de functie getrandmax (), die per besturingssysteem varieert. 

In Windows is bijvoorbeeld het grootste getal dat kan worden gegenereerd 32768. U kunt echter een specifiek bereik instellen om hogere getallen op te nemen.

Rand () Syntaxis en voorbeelden

De juiste syntaxis voor het gebruik van de rand PHP-functie is als volgt:

rand();

of

rand (min, max);

Met behulp van de syntaxis zoals hierboven beschreven, kunnen we drie voorbeelden maken voor de functie rand () in PHP:

echo (rand (10, 30). "
");
echo (rand (1, 1000000). "
");
echo (rand ());
?>

Zoals u in deze voorbeelden kunt zien, genereert de eerste randfunctie een willekeurig getal tussen 10 en 30, de tweede tussen 1 en 1 miljoen en vervolgens derde zonder een bepaald maximum- of minimumaantal..

Dit zijn enkele mogelijke resultaten:

20
442.549
830380191

Beveiligingsproblemen met behulp van de functie Rand ()

De willekeurige getallen die door deze functie worden gegenereerd, zijn geen cryptografisch veilige waarden en mogen om cryptografische redenen niet worden gebruikt. Als u veilige waarden nodig hebt, gebruikt u andere willekeurige functies zoals random_int (), openssl_random_pseudo_bytes () of random_bytes ()

Notitie: Beginnend met PHP 7.1.0, is de rand () PHP-functie een alias van mt_rand (). De functie mt_rand () zou vier keer sneller zijn en levert een betere willekeurige waarde op. De getallen die het genereert, zijn echter niet cryptografisch veilig. De PHP-handleiding beveelt het gebruik van de functie random_bytes () aan voor cryptografisch beveiligde gehele getallen.