<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည် PHP အိမ်တွင်း is_finite လည်ပတ်နေစဉ်ပုံမှန်အမှားများကိုရှောင်ပါ,နှင့်လက်တွေ့ကျတဲ့ကြိုတင်ကာကွယ်မှုများနှင့်အကြံပြုချက်များပေးပါ。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>၎င်းကိုအသုံးပြုခြင်းကိုရှောင်ရှားရန် is_finite function ကိုစီရင်နေစဉ်မမျှော်လင့်ဘဲအမှားတစ်ခုဖြစ်ပွားခဲ့သည်?ကြိုတင်ကာကွယ်မှုများကဘာတွေလဲ?</h1>
<p>တည်နေ PHP အစီအစဉ်,<code></span><span><span class="hljs-title function_ invoke__">is_finite</span></span><span>()
အကြံပြုချက် - is_finite () ကို မခေါ်မီ iS_Numeric () သို့မဟုတ် parameter သည်တရားဝင်ကိန်းဂဏန်းတန်ဖိုးကိုအတင်းအကျပ်ဖိအားပေးရန်။
floating-point operations များအတွင်းတရားမဝင်စစ်ဆင်ရေးများအတွင်းတရားမ 0 င ် ,
</span><span><span class="hljs-variable">$a</span></span><span> = </span><span><span class="hljs-title function_ invoke__">acos</span></span><span>(</span><span><span class="hljs-number">2</span></span><span>); </span><span><span class="hljs-comment">// ပြန်လာ NAN</span></span><span>
</span><span><span class="hljs-variable">$b</span></span><span> = </span><span><span class="hljs-variable">$a</span></span><span> * </span><span><span class="hljs-number">10</span></span><span>; </span><span><span class="hljs-comment">// ငြိမ်သော NAN</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_finite</span></span><span>(</span><span><span class="hljs-variable">$b</span></span><span>)); </span><span><span class="hljs-comment">// false</span></span><span>
အကြံပြုချက် - အထူးသဖြင့်က န့ ်သတ်ထားသောတန်ဖိုးများသို့မဟုတ်ရှုပ်ထွေးသောဖော်မြူလာများပါ 0 င် သည့် အတွက် floating-point တွက်ချက်မှုများကိုပြုလုပ်ပြီးနောက်,
is_finite () သည် အပြုသဘောဆောင်သည့်အသင်္ချေ ( infinity ) နှင့်အပျက်သဘောဆောင်သောအ သင်္ ချေ ( -INF ) ကို ခွဲခြား . မရပါ။ သင်ပိုမိုကောင်းမွန်သောကောက်ခံခြင်းကိုလိုအပ်ပါကသင် is_infinite () ကို ရယူရန်နှင့်ကိန်းဂဏန်းဆိုင်ရာတရားစီရင်ခြင်းကိုသင်ပေါင်းစပ်နိုင်သည်။
</span><span><span class="hljs-variable">$x</span></span><span> = </span><span><span class="hljs-title function_ invoke__">log</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// အညစ်အကြေး</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_infinite</span></span><span>(</span><span><span class="hljs-variable">$x</span></span><span>)) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$x</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>) </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အကန့်အသတ်မရှိ"</span></span><span>;
</span><span><span class="hljs-keyword">else</span></span><span> </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အညစ်အကြေး"</span></span><span>;
}
Floating Platform မတူကွဲပြားသောပလက်ဖောင်းများ (ဥပမာ - 32 <bits vs vs its 64- bit Systems စနစ်များ) ၏ (ဥပမာ - 64 -bit Systems) ကဲ့သို့သောကွဲပြားခြားနားသောအခြေအနေများအောက်တွင်ကွဲပြားခြားနားစွာလုပ်ဆောင်ရန်တူညီသောကိန်းဂဏန်းစစ်ဆင်ရေးကိုဖြစ်ပေါ်စေနိုင်သည်။ ထို့အပြင် PHP ၏ floating-point operater သည်တိကျမှန်ကန်မှုကိုကန့်သတ်ချက်များရှိသည်။
အကြံပြုချက်များ - အလွန်ကြီးမားသောသို့မဟုတ်အလွန်သေးငယ်သောတန်ဖိုးများပါ 0 င်သူများပါ 0 င်ခြင်းများအတွက်,
is_finite () သည်အလွန်လက်တွေ့ကျသောကိန်းဂဏန်းစိစစ်အတည်ပြုလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်၎င်းသည် "တစ်လောကလုံးအာမခံ" မဟုတ်ပါ။ developer များက၎င်း၏အခြေခံမူများနှင့်ကန့်သတ်ချက်များကိုနားလည်ရန်နှင့်အားကောင်းတဲ့ဒေတာအပြောင်းအလဲလုပ်ငန်းစဉ်ကိုတည်ဆောက်ရန်သင့်လျော်သောကြိုတင်ဆုံးဖြတ်ချက်နှင့်နောက်ဆက်တွဲအပြောင်းအလဲနဲ့ယုတ္တိဗေဒနှင့်ပူးပေါင်းဆောင်ရွက်ရန်လိုအပ်သည်။ သတိရပါ - ပြင်ပမှအချက်အလက်အားလုံးသည်မယုံကြည်နိုင်လောက်အောင်မလွယ်ကူပါ, ရှုပ်ထွေးသောတွက်ချက်မှုအားလုံး၏ရလဒ်များမှာစစ်ဆေးသင့်သည်။