Je souhaite générer un nombre aléatoire à 6 chiffres à l'aide de la fonction PHP mt_Rand()
.
Je sais que la fonction PHP mt_Rand()
ne prend que 2 paramètres: un minimum et un maximum valeur.
Comment puis je faire ça?
Quelque chose comme ça ?
<?php
$a = mt_Rand(100000,999999);
?>
Ou alors, le premier chiffre peut être 0 dans le premier exemple, il ne peut être que 1 à 9
for ($i = 0; $i<6; $i++)
{
$a .= mt_Rand(0,9);
}
Vous pouvez utiliser le code suivant.
<?php
$num = mt_Rand(100000,999999);
printf("%d", $num);
?>
Ici mt_Rand (min, max);
min = Spécifie le plus petit nombre à renvoyer.
max = Spécifie le plus grand nombre à renvoyer.
`
Si le premier numéro de membre peut être zéro, vous devez le formater pour le remplir avec des zéros, si nécessaire.
<?php
$number = mt_Rand(10000,999999);
printf("[%06s]\n",$number); // zero-padding works on strings too
?>
Ou, si vous pouvez utiliser la forme zéro, vous pouvez le faire pour:
<?php
$number = mt_Rand(0,999999);
printf("[%06s]\n",$number); // zero-padding works on strings too
?>
pour autant que cela soit compris, cela devrait être comme ça;
function Rand6($min,$max){
$num = array();
for($i=0 ;i<6;i++){
$num[]=mt_Rand($max,$min);
}
return $num;
}
Vous pouvez le faire en ligne comme ceci:
$randomNumbersArray = array_map(function() {
return mt_Rand();
}, range(1,6));
Ou la manière simple, avec une fonction:
$randomNumbersArray = giveMeRandNumber(6);
function giveMeRandNumber($count)
{
$array = array();
for($i = 0; $i <= $count; $i++) {
$array[] = mt_Rand();
}
}
Ceux-ci produiront un tableau comme celui-ci:
Array
(
[0] => 1410367617
[1] => 1410334565
[2] => 97974531
[3] => 2076286
[4] => 1789434517
[5] => 897532070
)
<?php
//If you wanna generate only numbers with min and max length:
function intCodeRandom($length = 8)
{
$intMin = (10 ** $length) / 10; // 100...
$intMax = (10 ** $length) - 1; // 999...
$codeRandom = mt_Rand($intMin, $intMax);
return $codeRandom;
}
?>
Exemples:
print Rand() . "<br>";
//generates and prints a random number
print Rand(10, 30);
//generates and prints a random number between 10 and 30 (10 and 30 ARE included)
print Rand(1, 1000000);
//generates and prints a random number between on and one million