2011-02-14 21 views
25

उत्पन्न करें मैं PHP mt_rand() फ़ंक्शन का उपयोग करके 6 अंकों का यादृच्छिक संख्या उत्पन्न करना चाहता हूं।एक एन-अंक यादृच्छिक संख्या

मैं जानता हूँ कि पीएचपी mt_rand() समारोह केवल 2 पैरामीटर लेता है: एक न्यूनतम और एक अधिकतम मूल्य।

मैं यह कैसे कर सकता हूं?

उत्तर

54

ऐसा कुछ?

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

या यह है, तो पहले अंक हो सकता है पहले उदाहरण में 0 यह केवल किया जा सकता है 1 9

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

के पहले सदस्य 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 
?> 
1

जहाँ तक समझ में आ के रूप में, यह ऐसा होना चाहिए,

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

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

    } 
return $num; 
} 
1

आप इसे इनलाइन इस तरह कर सकते हैं:

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

या simpliar तरह से, एक समारोह के साथ:

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

उदाहरण:

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 

More Details

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 (न्यूनतम, अधिकतम);
मिनट = लौटने के लिए सबसे कम संख्या निर्दिष्ट करता है।
अधिकतम = लौटने के लिए उच्चतम संख्या निर्दिष्ट करता है।

`

संबंधित मुद्दे