Я хочу сгенерировать 6-значное случайное число, используя функцию PHP mt_rand()
.
Я знаю, что функция PHP mt_rand()
принимает только 2 параметра: минимальное и максимальное значение.
Как я могу это сделать?
Что-то вроде этого ?
<?php $a = mt_rand(100000,999999); ?>
Или это, тогда первая цифра может быть 0 в первом примере, она может быть только от 1 до 9
for ($i = 0; $i<6; $i++) { $a .= mt_rand(0,9); }
Если первый участник nunmber может быть равен нулю, тогда вам нужно форматировать его, чтобы заполнить его нулями, если это необходимо.
<?php $number = mt_rand(10000,999999); printf("[%06s]\n",$number); // zero-padding works on strings too ?>
Или, если он может быть равен нулю, вы можете сделать это, чтобы:
<?php $number = mt_rand(0,999999); printf("[%06s]\n",$number); // zero-padding works on strings too ?>
насколько это понятно, это должно быть так;
function rand6($min,$max){ $num = array(); for($i=0 ;i<6;i++){ $num[]=mt_rand($max,$min); } return $num; }
Вы можете сделать это inline следующим образом:
$randomNumbersArray = array_map(function() { return mt_rand(); }, range(1,6));
Или простой способ, с функцией:
$randomNumbersArray = giveMeRandNumber(6); function giveMeRandNumber($count) { $array = array(); for($i = 0; $i <= $count; $i++) { $array[] = mt_rand(); } }
Они создадут такой массив:
Array ( [0] => 1410367617 [1] => 1410334565 [2] => 97974531 [3] => 2076286 [4] => 1789434517 [5] => 897532070 )
Примеры:
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
Подробнее
<?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; } ?>
Вы можете использовать следующий код.
<?php $num = mt_rand(100000,999999); printf("%d", $num); ?>
Здесь mt_rand (min, max);
min = Указывает наименьшее число, которое нужно вернуть.
max = Указывает наибольшее число, которое нужно вернуть.
`