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

PHP mt_srand() फ़ंक्शन - मर्सन ट्विस्टर रैंडम जनरेटर सीड करना

PHP का mt_srand() फ़ंक्शन **मर्सन ट्विस्टर (Mersenne Twister) रैंडम नंबर जनरेटर** को सीड करता है। 'mt' प्रीफिक्स मर्सन ट्विस्टर एल्गोरिदम को इंगित करता है, जो मानक rand() से तेज़ और बेहतर गुणवत्ता वाला है। PHP में इसका उपयोग **वैकल्पिक** है क्योंकि स्वचालित सीडिंग होती है।

सिंटैक्स

mt_srand(int $seed, int $mode = MT_RAND_MT19937): void

पैरामीटर्स

पैरामीटरविवरण
$seedसीड पूर्णांक। नहीं देने पर रैंडम सीड।
$modeकार्यान्वयन मोड: MT_RAND_MT19937 (डिफ़ॉल्ट, फिक्स्ड) या MT_RAND_PHP (पुराना डिफ़ॉल्ट)

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

कोई नहीं (void)।

उदाहरण

1. निश्चित सीड के साथ

<?php
mt_srand(5);
echo "mt_rand(1,100) = " . mt_rand(1, 100);
?>
mt_rand(1,100) = 12

2. टाइमस्टैम्प के साथ सीड

<?php
mt_srand(time());
echo "mt_rand() = " . mt_rand();
?>
mt_rand() = 548287992

मोड पैरामीटर (PHP 7.1+)

  • MT_RAND_MT19937 (डिफ़ॉल्ट): फिक्स्ड, सही मर्सन ट्विस्टर कार्यान्वयन।
  • MT_RAND_PHP: पुराना PHP डिफ़ॉल्ट कार्यान्वयन (पीछे की संगतता के लिए)।

महत्वपूर्ण नोट्स

  • स्वचालित सीडिंग: PHP 4.2.0+ स्वचालित रूप से सीड करता है। मैन्युअल सीडिंग आमतौर पर अनावश्यक।
  • पुनरुत्पादन: परीक्षण/डीबगिंग के लिए निश्चित सीड उपयोगी।
  • सुरक्षा: mt_rand() भी **क्रिप्टोग्राफ़िक रूप से असुरक्षित** है। सुरक्षित रैंडम के लिए random_int(), random_bytes() उपयोग करें।
  • ग्लोबल स्टेट: mt_srand() पूरे प्रक्रिया के मर्सन ट्विस्टर स्टेट को प्रभावित करता है।

srand() बनाम mt_srand()

पहलूsrand()/rand()mt_srand()/mt_rand()
एल्गोरिदमप्लेटफॉर्म-निर्भर (आमतौर पर libc rand)मर्सन ट्विस्टर (MT19937)
गतिधीमा~4x तेज़
रैंडमनेस गुणवत्ताकमबेहतर
अधिकतम मानgetrandmax() (अक्सर 2³¹-1)mt_getrandmax() (2³¹-1)

PHP संस्करण

PHP 4, PHP 5, PHP 7, PHP 8+ में उपलब्ध। मोड पैरामीटर PHP 7.1+ में।

  1. - PHP log() फ़ंक्शन - प्राकृतिक लघुगणक और मनमाना आधार

    PHP का log() फ़ंक्शन **प्राकृतिक लघुगणक (natural logarithm, आधार e)** या **निर्दिष्ट आधार** में लघुगणक गणना करता है। डिफ़ॉल्ट आधार यूलर संख्या M_E (≈2.718) है। सिंटैक्स log(float $arg, float $base = M_E): float पैरामीटर्स पैरामीटरविवरण $argवह मान जिसका लघुगणक चाहिए $baseआधार (डिफ़ॉल्ट M_E = प्

  1. - PHP lcg_value() फ़ंक्शन - रैखिक सर्वांगसम जनरेटर (0 से 1)

    PHP का lcg_value() फ़ंक्शन **0 और 1 के बीच स्यूडो-रैंडम फ्लोट** जनरेट करता है। LCG = **रैखिक सर्वांगसम जनरेटर (Linear Congruential Generator)** — सबसे पुराने स्यूडो-रैंडम एल्गोरिदम में से एक। सिंटैक्स lcg_value(): float पैरामीटर्स कोई पैरामीटर नहीं। लौटाया गया मान 0.0 और 1.0 (सम्मिलित) के बीच स्य

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

    विवरण mt_srand() फंक्शन मर्सेन ट्विस्टर रैंडम नंबर जेनरेटर को सीड करता है। नोट − PHP 4.2.0 के रिलीज के बाद रैंडम नंबर जेनरेटर ऑटोमेटिकली सीड होता है। अब इस फंक्शन की आवश्यकता नहीं है। सिंटैक्स mt_srand(seed) पैरामीटर्स seed − सीड वैल्यू रिटर्न वैल्यू mt_srand() फंक्शन कुछ भी रिटर्न नहीं करता।