2011-02-14 4 views
25

PHP mt_rand() 함수를 사용하여 6 자리 난수를 생성하고 싶습니다. N 자리의 난수 생성

나는 PHP mt_rand() 기능은이 개 매개 변수를 알고하십시오 최소최대 값입니다.

어떻게하면됩니까?

답변

54

이와 비슷한?

<?php 
$a = mt_rand(100000,999999); 
?> 

또는이 후 첫 번째 숫자는 첫 번째 예에서 0은 첫 번째 멤버 nunmber이 제로가 될 수 있다면, 당신은 채울를 포맷해야 할 일 9

for ($i = 0; $i<6; $i++) 
{ 
    $a .= mt_rand(0,9); 
} 
1

에 할 수있다 할 수있다 필요한 경우 0으로 시작합니다.

<?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 
?> 
이 가
1

가 지금까지 이해, 그것은 그렇게되어야한다; 함수와

$randomNumbersArray = array_map(function() { 
    return mt_rand(); 
}, range(1,6)); 

또는 simpliar 방법 : :

function rand6($min,$max){ 
    $num = array(); 

    for($i=0 ;i<6;i++){ 
    $num[]=mt_rand($max,$min); 

    } 
return $num; 
} 
1

이 같은 인라인 그것을 할 수

Array 
(
    [0] => 1410367617 
    [1] => 1410334565 
    [2] => 97974531 
    [3] => 2076286 
    [4] => 1789434517 
    [5] => 897532070 
) 
:

$randomNumbersArray = giveMeRandNumber(6); 

function giveMeRandNumber($count) 
{ 
    $array = array(); 
    for($i = 0; $i <= $count; $i++) { 
     $array[] = mt_rand(); 
    } 
} 

이이 같은 배열을 생성합니다

1

예 :

More Details

16,
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 

1
<?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; 
     } 
?> 
1

는 다음과 같은 코드를 사용할 수 있습니다.

<?php 
    $num = mt_rand(100000,999999); 
    printf("%d", $num); 
    ?> 

여기에는, mt_rand (최소, 최대);
min = 반환 할 가장 낮은 번호를 지정합니다.
max = 리턴 될 가장 높은 번호를 지정합니다.