PHP တွင်ကျပန်းနံပါတ်များကိုထုတ်လုပ်ခြင်းသည်အထူးသဖြင့်ဂိမ်းဖွံ့ဖြိုးတိုးတက်မှု, PHP သည် Rand () , MT_rand () နှင့်ကျပန်း () နှင့် ကျပန်း () ကဲ့သို့သောကျပန်းနံပါတ်များကိုထုတ်လုပ်သောလုပ်ငန်းဆောင်တာများကိုထောက်ပံ့ပေးသည်။ ထုတ်လုပ်သောကျပန်းနံပါတ်များ၏အရည်အသွေးနှင့်ထိရောက်မှုကိုတိုးတက်စေရန် Srand () function ကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အဓိကအခန်းကဏ် play မှပါ 0 င်နိုင်သည်။
ဤဆောင်းပါးသည် Srand () function ကိုမိတ်ဆက်ပေးပြီးပိုမိုကောင်းမွန်သောရလဒ်များအတွက်အခြားကျပန်းနံပါတ်လုပ်ဆောင်ချက်များကို တွဲဖက်. မည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။
PHP တွင် Srand () function ကိုကျပန်းနံပါတ်မီးစက်မျိုးစေ့ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ အမျိုးအနွယ်သည်ကျပန်းနံပါတ်မျိုးဆက်၏အစမှတ်ကိုဆုံးဖြတ်သည်။ တူညီသောမျိုးစေ့တန်ဖိုးဖြင့်ကျပန်းနံပါတ်ပာသည်အချိန်တိုင်းတွင်အတူတူပင်ဖြစ်သည်။ ၎င်းသည် Debugging နှင့်စမ်းသပ်ခြင်းအတွက်အလွန်အသုံးဝင်သည်။
Rand () နှင့် Mt_rand () နှစ် ဦး စလုံးသည်ပြည်တွင်းရေးကျပန်းကျပန်းနံပါတ်မီးစက်နှင့် Srand () ကို အခြေခံ. ကျပန်းနံပါတ်များကိုထုတ်လုပ်သည်။ ပုံမှန်အားဖြင့် Srand () ကို အတိအလင်းဟုအတိအလင်းမခေါ်ပါက PHP သည်လက်ရှိအခြေအနေသို့မဟုတ်စနစ်အခြေအနေကိုမျိုးစေ့တန်ဖိုးအဖြစ်အသုံးပြုသည်။
Rand () သည် PHP တွင်အသုံးအများဆုံးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် Srand မှသတ်မှတ်ထားသည့်မျိုးစေ့ကိုအသုံးပြုသည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အစေ့ကိုသတ်မှတ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">srand</span></span><span>(</span><span><span class="hljs-number">12345</span></span><span>);
</span><span><span class="hljs-comment">// တစ် ဦး generate0ရောက်လာ100အကြားကျပန်းနံပါတ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">rand</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤဥပမာတွင် Srand (12345) သည် မီးစက်မျိုးစေ့ကို 12345 အထိသတ်မှတ်သည်။ Code ကိုကွပ်မျက်သည့်အခါတိုင်းထုတ်လုပ်ထားသောကျပန်းနံပါတ်များသည်တူညီသောမျိုးစေ့ကိုသတ်မှတ်ထားသည့်အချိန်တွင်အတူတူပင်ဖြစ်ပါသည်။
PHP သည် MT_rand () function ကိုပြုလုပ်ထားသော MT_rand () function ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်ပိုမိုထိရောက်သောနှင့်ကျပန်း algorithm ဖြစ်သော Mersenne Twister အပေါ်အခြေခံသည်။ ထို့ကြောင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် Rand ( ) အစား MT_rand ( ) ကိုအသုံးပြုရန်အကြံပြုသည်။
MT_rand () သည်မျိုးစေ့များကို Srand () ကို အသုံးပြု. အစေ့ကို () ,
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အစေ့ကိုသတ်မှတ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">srand</span></span><span>(</span><span><span class="hljs-number">12345</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-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Rand () , Mt_rand) သည် Srand ၏မျိုးစေ့များနှင့်တူသည်။
လုံခြုံရေးဆိုင်ရာလိုအပ်ချက်များလိုအပ်သည့်ဖြစ်ရပ်များအတွက် PHP 7 သည် encryption-level ကျပန်းနံပါတ်များကိုပေးနိုင်သည့် ကျပန်း_INT () function ကိုမိတ်ဆက်ပေးသည်။ Rand () နှင့် Mt_rand () ) မတူဘဲကျပန်းအသုံးပြုခြင်းသည် Srand ကို ရှင်းလင်းပြတ်သားစွာအသုံးပြုခြင်းမလိုအပ်ပါ,
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အသုံးပြု random_int() ကျပန်းနံပါတ်များကိုထုတ်လုပ်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">random_int</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ကျပန်း () () က ခန့်မှန်းရခက်တဲ့ကျပန်းနံပါတ်များကိုထုတ်ပေးပြီးလုံခြုံစိတ်ချရသောလုံခြုံစိတ်ချရသည့်အတွက်၎င်းကို Cryptography သို့မဟုတ်အခြား applications များတွင်ပထမ ဦး ဆုံးအသုံးပြုသင့်သည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် Srand () သည်အခြားကျပန်းနံပါတ်လုပ်ဆောင်ချက်များကိုကွဲပြားခြားနားသောလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်အသုံးပြုသည်။ အကယ်. သင်သည်မျိုးစေ့ကိုမသတ်မှတ်ပါက Rand () နှင့် MT_rand) မှရရှိသောကျပန်းနံပါတ်လေ့လာမှုသည်အထူးသဖြင့်ကျပန်းရလဒ်အချို့ကိုမျိုးပွားရန်လိုအပ်သည့်အခါတိုင်းစံပြမဟုတ်ပါ။
Srand နှင့်မျိုးစေ့ကိုစနစ်တကျသတ်မှတ်ခြင်းအားဖြင့်ကျပန်းနံပါတ်များကိုထပ်ခါတလဲလဲပြုလုပ်နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အစေ့ကိုသတ်မှတ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">srand</span></span><span>(</span><span><span class="hljs-number">98765</span></span><span>);
</span><span><span class="hljs-comment">// 联合အသုံးပြု mt_rand() နှင့် random_int()</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>) . </span><span><span class="hljs-string">"\n"</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-title function_ invoke__">random_int</span></span><span>(</span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>; </span><span><span class="hljs-comment">// အသုံးပြု random_int() လုံခြုံကျပန်းနံပါတ်များကိုထုတ်လုပ်ပါ</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဒီဥပမာမှာငါတို့မျိုးစေ့ ဆန်စပါး (98765) ကို ဦး စွာသတ်မှတ်ပြီးကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန် Mt_rand () နှင့် ကျပန်း () ကိုအသီးသီးသုံးပါ။ MT_rand () နှင့် ကျပန်း () ပေါင်းစပ်အသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည်ကွဲပြားခြားနားသောအခြေအနေများတွင်ကျပန်းနံပါတ်လိုအပ်ချက်များနှင့်တွေ့ဆုံနိုင်သည်။
Srand () function သည် PHP ကျပန်းနံပါတ်မီးစက်ကိုထိန်းချုပ်ရန်အဓိကကိရိယာတစ်ခုဖြစ်သည်။ Rand () နှင့် Mt_rand ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်း () တွင်ပေါင်းစပ်အသုံးပြုသောအခါ၎င်းသည်ထိန်းချုပ်နိုင်မှုနှင့်ကျပန်းနံပါတ်များကိုပြန်လည်ထုတ်လုပ်ခြင်းကိုသေချာစေနိုင်သည်။ သို့သော်မြင့်မားသောလုံခြုံရေးဆိုင်ရာအသုံးချပရိုဂရမ်များအတွက် Srand () အပေါ် မူတည်. မမှီခိုသောကျပန်း () ကိုထောက်ခံသည်။
ယေဘုယျအားဖြင့်ကျပန်းကိန်းဂဏန်းများထုတ်ပေးသည့်အခါသင့်လျော်သော function ကိုရွေးချယ်ခြင်းနှင့်မှန်ကန်စွာမျိုးစေ့များကိုမှန်ကန်စွာရွေးချယ်ခြင်းသည်စွမ်းဆောင်ရည်ကိုတိုးတက်ကောင်းမွန်စေပြီးကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန်အရည်အသွေးနှင့်လုံခြုံမှုကိုမြှင့်တင်ပေးနိုင်သည်။