Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP mt_rand() फ़ंक्शन - मर्सन ट्विस्टर रैंडम संख्या

PHP का mt_rand() फ़ंक्शन **मर्सन ट्विस्टर (Mersenne Twister) एल्गोरिदम** का उपयोग करके स्यूडो-रैंडम पूर्णांक जनरेट करता है। यह rand() का ड्रॉप-इन रिप्लेसमेंट है — तेज़ और बेहतर रैंडमनेस गुणवत्ता वाला।

सिंटैक्स

mt_rand(): int
mt_rand(int $min, int $max): int

पैरामीटर्स

पैरामीटरविवरण
$minनिचली सीमा (डिफ़ॉल्ट 0)
$maxऊपरी सीमा (डिफ़ॉल्ट mt_getrandmax())

लौटाया गया मान

$min और $max (सम्मिलित) के बीच स्यूडो-रैंडम पूर्णांक।

उदाहरण

1. बिना आर्गुमेंट्स

<?php
echo "mt_rand() = " . mt_rand() . "\n";
echo "mt_rand() = " . mt_rand() . "\n";
?>
mt_rand() = 173620951
mt_rand() = 749065865

2. कस्टम रेंज (11 से 30)

<?php
echo "mt_rand(11,30) = " . mt_rand(11, 30) . "\n";
echo "mt_rand(11,30) = " . mt_rand(11, 30) . "\n";
?>
mt_rand(11,30) = 24
mt_rand(11,30) = 14

3. फ्लोट आर्गुमेंट्स — भिन्नात्मक भाग अनदेखा

<?php
echo "mt_rand(10.55, 50.95) = " . mt_rand(10.55, 50.95) . "\n";
?>
mt_rand(10.5,50.95) = 31

महत्वपूर्ण विशेषताएँ

  • 4x तेज़: rand() से लगभग 4 गुना तेज़।
  • बेहतर वितरण: मर्सन ट्विस्टर का पीरियड 2¹⁹⁹³⁷-1 है।
  • समान API: rand() के समान सिंटैक्स।
  • डिफ़ॉल्ट रेंज: 0 से mt_getrandmax() (64-बिट पर 2147483647)।

⚠️ सुरक्षा चेतावनी

क्रिप्टोग्राफ़िक उद्देश्यों के लिए उपयोग न करें! mt_rand() भी स्यूडो-रैंडम है और पूर्वानुमान योग्य है।

सुरक्षित विकल्प (PHP 7+)

<?php
// क्रिप्टोग्राफ़िक रूप से सुरक्षित
$secureInt = random_int(1, 100);
$secureBytes = random_bytes(32); // 32 रैंडम बाइट्स
?>

rand() बनाम mt_rand()

विशेषताrand()mt_rand()
एल्गोरिदमप्लेटफॉर्म libc randमर्सन ट्विस्टर MT19937
गतिबेसलाइन~4x तेज़
अधिकतम मानgetrandmax()mt_getrandmax()
सीड फ़ंक्शनsrand()mt_srand()
क्रिप्टो-सुरक्षितनहींनहीं

PHP संस्करण

PHP 4, PHP 5, PHP 7, PHP 8+ में उपलब्ध।

  1. - PHP में money_format() फ़ंक्शन

    money_format() फ़ंक्शन PHP में money_format() फ़ंक्शन किसी नंबर को करेंसी स्ट्रिंग के रूप में फॉर्मेट करता है। यह फॉर्मेटेड स्ट्रिंग्स रिटर्न करता है या विफलता पर NULL। नोट: यह फ़ंक्शन विंडोज प्लेटफॉर्म पर परिभाषित नहीं है। सिंटैक्स money_format(string $format, float $number): string|false पैरामीट

  1. - PHP में GregorianToJD() फंक्शन

    PHP में GregorianToJD() फंक्शन ग्रेगोरियन तारीख को जूलियन डे काउंट में बदलता है। यह एक जूलियन डे नंबर लौटाता है। नोट - ग्रेगोरियन कैलेंडर के लिए मान्य सीमा 25 नवंबर, 4714 ई.पू. से कम से कम 31 दिसंबर, 9999 ई. तक है। सिंटैक्स GregorianToJD(month, date, year) पैरामीटर्स month - 1 से 12 तक की संख्या

  1. - PHP में fscanf() फंक्शन

    विवरण PHP का fscanf() फंक्शन एक खुली फाइल से निर्दिष्ट फॉर्मेट के अनुसार इनपुट पार्स करता है। यदि केवल दो पैरामीटर पास किए गए हों तो पार्स किए गए मानों को एक सरणी के रूप में लौटाता है। सिंटैक्स fscanf(file_pointer, format, mixed) पैरामीटर्स file_pointer - fopen() का उपयोग करके बनाया गया फाइल सिस्