PHP တွင်ကျပန်းနံပါတ်များကိုထုတ်လုပ်ခြင်းသည်အထူးသဖြင့်ဂိမ်းဖွံ့ဖြိုးတိုးတက်မှု, အသုံးပြုသူအချက်အလက်အပြောင်းအလဲများ, PHP သည် MT_rand () နှင့် MT_GetrandMax () တွင်အသုံးများသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သောကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန်လုပ်ဆောင်ချက်များစွာကိုပေးသည်။ MT_RAND () ကို များသောအားဖြင့်ကျပန်းကိန်းများကိုထုတ်လုပ်ရန်အသုံးပြုသည်။ MT_GetrandMax () သည် MT_rand () function ကိုအများဆုံးရရှိရန်အသုံးပြုသည်။
MT_RAND () PHP တွင် Mersenne Twister algorithm အပေါ် အခြေခံ. Pseudo -er ကျပန်းနံပါတ်မျိုးဆက်လုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်း၏အားသာချက်မှာထုတ်လုပ်ထားသောကျပန်းနံပါတ်များသည်ကောင်းမွန်သောစည်းလုံးညီညွတ်မှုနှင့်စွမ်းဆောင်ရည်မြင့်မားခြင်းတို့ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်ပုံမှန်အားဖြင့် 0 မှ 0. 0 င်သော အကွာအဝေးနှင့်အတူကိန်းဂဏန်းတစ်ခုနှင့်တစ်ခုချင်းစီကိုပြန်လည်ရောက်ရှိစေသည်။
<span><span><span class="hljs-variable">$rand</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(); </span><span><span class="hljs-comment">// ကျပန်းနံပါတ်ကိုထုတ်လုပ်ပါ,မှအကွာအဝေး 0 ရောက်လာ mt_getrandmax()</span></span><span>
</span></span>
MT_GetrandMax () သည် MT_rand () ထုတ်လုပ်နိုင်သည့်အမြင့်ဆုံးတန်ဖိုးကိုရရှိရန် PHP မှပေးသော built-in function ကိုဖြစ်သည်။ ပြန်လည်ရောက်ရှိသည့်တန်ဖိုးသည်ကိန်းဂဏန်းများနှင့် PHP ၏မတူညီသောဗားရှင်းနှင့်ပလက်ဖောင်းများအပေါ်ကွဲပြားသောကိန်းဂဏန်းများဖြစ်သည် ။
<span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_getrandmax</span></span><span>(); </span><span><span class="hljs-comment">// ရယူ mt_rand() ထုတ်လုပ်နိုင်သည့်အများဆုံးတန်ဖိုး</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$max</span></span><span>; </span><span><span class="hljs-comment">// output အများဆုံးတန်ဖိုး,ထုံးစံအားဖြင့် 2147483647</span></span><span>
</span></span>
များသောအားဖြင့်ကျွန်ုပ်တို့သည်များသောအားဖြင့်သတ်မှတ်ထားသောအကွာအဝေးတစ်ခုဖြစ်ပြီး A မှ B မှ B မှကျပန်းအရေအတွက်အဖြစ်။ ၎င်းကိုရရှိရန်အတွက် MT_RAND () မှ ထုတ်လုပ်သောကျပန်းနံပါတ်များကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
ကျွန်ုပ်တို့သည်ကျပန်းနံပါတ်ကို ဒေါ်လာ 1 ဒေါ်လာ အထိထုတ်လုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ အောက်ပါပုံသေနည်းကိုသုံးနိုင်သည်။
<span><span><span class="hljs-variable">$randNum</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-variable">$min</span></span><span>, </span><span><span class="hljs-variable">$max</span></span><span>);
</span></span>
ဤတွင် ဒေါ်လာမိနစ် သည်ကျပန်းနံပါတ်တစ်ခု၏အနိ မ့ ်အကန့်အသတ် သည် ကျပန်းနံပါတ်တစ်ခု၏အကန့်အသတ်ရှိသည်။
ပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်မှုကိုပိုမိုလိုအပ်သည့်အခါသို့မဟုတ်ကျပန်းနံပါတ်များကိုတွက်ချက်လိုပါက MT_GetrandMax () ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ကျပန်းနံပါတ်ကို 0 မှ 500 အထိထုတ်လုပ်လိုပါက MT_rand ၏အများဆုံးတန်ဖိုးကိုပထမ ဦး ဆုံးဆုံးဖြတ်ရန်နှင့်၎င်းကိုစကေးသည်။
ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာ ဒေါ်လာမိနစ်မှ ဒေါ်လာ max မှကျပန်းအရေအတွက်ကိုထုတ်လုပ်ရန်မှာအောက်ပါကုဒ်များဖြင့်၎င်းကိုအကောင်အထည်ဖော်နိုင်သည်။
<span><span><span class="hljs-variable">$min</span></span><span> = </span><span><span class="hljs-number">10</span></span><span>;
</span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-number">50</span></span><span>;
</span><span><span class="hljs-variable">$range</span></span><span> = </span><span><span class="hljs-variable">$max</span></span><span> - </span><span><span class="hljs-variable">$min</span></span><span> + </span><span><span class="hljs-number">1</span></span><span>;
</span><span><span class="hljs-variable">$randomNumber</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>() % </span><span><span class="hljs-variable">$range</span></span><span> + </span><span><span class="hljs-variable">$min</span></span><span>;
</span></span>
ကျွန်ုပ်တို့သည်ကျပန်းနံပါတ်ကို 100 မှ 500 ဖြင့်ကျပန်းအရေအတွက်ကိုထုတ်လုပ်လိုပါကကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-variable">$min</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-number">500</span></span><span>;
</span><span><span class="hljs-variable">$randNum</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-variable">$min</span></span><span>, </span><span><span class="hljs-variable">$max</span></span><span>); </span><span><span class="hljs-comment">// အသုံးပြု mt_rand() တိုက်ရိုက်အကွာအဝေးအတွက်ကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$randNum</span></span><span>; </span><span><span class="hljs-comment">// output ကို 100 ရောက်လာ 500 အကြားကျပန်းနံပါတ်</span></span><span>
</span></span>
အကယ်. သင်သည်အဆိုးရှားဆုံးသော granular control မှတဆင့် Range Generation ကိုအောင်မြင်လိုပါက MT_GetrandMax () ၏ပြန်လာတန်ဖိုးကို သုံး. ထုတ်လုပ်သောကျပန်းနံပါတ်များကိုစကေးအထိသုံးနိုင်သည်။ ကျပန်းနံပါတ်ကို 0 မှ 100 အထိထုတ်လုပ်ချင်ပါတယ်ဆိုပါစို့။ အောက်ပါကုဒ်ကိုသုံးနိုင်သည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$min</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$randNum</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>() / </span><span><span class="hljs-title function_ invoke__">mt_getrandmax</span></span><span>() * (</span><span><span class="hljs-variable">$max</span></span><span> - </span><span><span class="hljs-variable">$min</span></span><span>) + </span><span><span class="hljs-variable">$min</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$randNum</span></span><span>;
</span></span>
ဤကုဒ်၏ယုတ္တိဗေဒသည် - MT_GetrandMax () အကြားကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန်အတွက် MT_rand () ကို အသုံးပြု. ဒေါ်လာ 5 မိနစ်အထိ ဒေါ်လာ max သို့ပေးချေရန်။
MT_RAND () နှင့် MT_GetrandMax () သည် PSP တွင်အလွန်အစွမ်းထက်သောကိရိယာများဖြစ်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများတွင် MT_rand ကို အသုံးပြု. (ဒေါ်လာမိနစ်, ဒေါ်လာ max) ကို အသုံးပြုခြင်းသည်သတ်မှတ်ထားသောအကွာအဝေးတွင်တိုက်ရိုက်ကျပန်းနံပါတ်များကိုတိုက်ရိုက်ထုတ်လွှင့်နိုင်သည် ။
ဤဆောင်းပါးကိုမိတ်ဆက်ပေးခြင်းဖြင့် MT_rand () နှင့် MT_GetrandMax () function များကိုအသုံးပြုရမည်ကိုသင်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်ယုံကြည်နိုင်သည်ဟုကျွန်ုပ်ယုံကြည်သည်။