85 votes

Nombre aléatoire dans la plage [min - max] en utilisant PHP

Existe-t-il un moyen de générer un nombre aléatoire basé sur un min et un max?

Par exemple, si min était 1 et max 20, il devrait générer n’importe quel nombre compris entre 1 et 20, y compris 1 et 20?

153voto

Prisoner Points 13354
<?php
  $min=1;
  $max=20;
  echo rand($min,$max);
?>

35voto

Salvador Dali Points 11667

Dans un nouveau PHP7, il y a enfin un support pour un entiers pseudo-aléatoires cryptographiquement sécurisés.

random_int - Génère des entiers pseudo-aléatoires sécurisés par chiffrement

ce qui rend essentiellement obsolètes les réponses précédentes.

20voto

Matt Cromwell Points 51

Une <strike></strike> version plus rapide utiliserait mt_rand:

Source : http://www.php.net/manual/en/function.mt-rand.php.

REMARQUE : Votre serveur doit avoir le module MATH PHP activé pour que cela fonctionne. Si ce n’est pas le cas, bug votre hôte pour l’activer, ou vous devez utiliser le rand() normal (et plus lent).

6voto

pinkfloydx33 Points 2688
<pre><code></code><p>ou</p><pre><code></code></pre><p><a href="http://php.net/manual/en/function.rand.php" rel="noreferrer">http://php.net/manual/en/function.rand.php</a></p></pre>

6voto

vonUbisch Points 996

J’ai regroupé les réponses ici et l’ai rendu indépendant de la version;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X