81 votes

nombre aléatoire à x chiffres php

J'ai besoin de créer un nombre aléatoire avec x nombre de chiffres.

Alors disons que x est 5, j'ai besoin d'un nombre pour être, par exemple. 35562 Si x est 3, alors cela renverrait quelque chose comme ; 463

Quelqu'un pourrait-il me montrer comment cela se fait?

46voto

Code Magician Points 8724

J'utilise généralement simplement RAND() http://php.net/manual/en/function.rand.php

par exemple

 rand ( 10000 , 99999 );

pour votre nombre aléatoire à 5 chiffres

13voto

halfdan Points 16440

Vous pouvez utiliser rand($min, $max) dans ce but précis.

Afin de limiter les valeurs aux valeurs avec x chiffres, vous pouvez utiliser les éléments suivants :

 $x = 3; // Amount of digits
$min = pow(10,$x);
$max = pow(10,$x+1)-1);
$value = rand($min, $max);

10voto

Blender Points 114729

Traitez votre numéro comme une liste de chiffres et ajoutez simplement un chiffre aléatoire à chaque fois :

 function n_digit_random($digits) {
  $temp = "";

  for ($i = 0; $i < $digits; $i++) {
    $temp .= rand(0, 9);
  }

  return (int)$temp;
}

Ou une solution purement numérique :

 function n_digit_random($digits)
  return rand(pow(10, $digits - 1) - 1, pow(10, $digits) - 1);
}

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