PHP ပရိုဂရမ်တွင် PHP ပရိုဂရမ်တွင်အမှားကိုင်တွယ်ခြင်းသည်အလွန်အရေးကြီးသည့် link တစ်ခုဖြစ်သည်။ Code ၏ရှုပ်ထွေးမှုတိုးပွားလာသည်နှင့်အမျှကျိုးကြောင်းဆီလျော်သောအမှားကိုင်တွယ်မှုသည်အစီအစဉ်၏တည်ငြိမ်အေးချမ်းရေးနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်အောင်မလုပ်နိုင်ပါ။ အမှားအယွင်းများကိုကိုင်တွယ်သောအခါ PHP သည်အမှားအယွင်းများနှင့်ခြွင်းချက်အမျိုးအစားများကိုဖမ်းရန်ကူညီရန်ကိရိယာများနှင့်လုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။ ၎င်းတို့အနက် IS_infinite () function သည်အထူးသဖြင့်သင်္ချာတွက်ချက်မှုများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါအထူးအခြေအနေများတွင်အရေးပါသောအခန်းကဏ် play မှပါ 0 င်နိုင်သည်။
is_infinite () function သည် PHP ရှိ function တစ်ခုဖြစ်ပြီးနံပါတ်သည်အပြုသဘောဆောင်သည်ဖြစ်စေ, Syntax သည်အလွန်ရိုးရှင်းပါသည်။
<span><span><span class="hljs-title function_ invoke__">is_infinite</span></span><span>(</span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>ဤလုပ်ဆောင်မှုသည် Parameter $ တန်ဖိုးကို လက်ခံသည်, ဒေါ်လာတန်ဖိုးသည် အပြုသဘောဆောင်သော infinite ( infinite ) သို့မဟုတ်အပျက်သဘောဆောင်သော ( -INF ) သည် အကျိုးရှိ သည် ။ ၎င်းသည်အကန့်အသတ်မရှိ,
PHP တွင်ကိန်းဂဏန်းဆိုင်ရာတွက်ချက်မှုများကိုပြုလုပ်သောအခါသုညဖြင့်ကွဲပြားခြင်းကဲ့သို့သောအလွန်အမင်းတွက်ချက်မှုရလဒ်များနှင့်အဆက်မပြတ်တွက်ချက်ခြင်း, သင့်လျော်သောပြုပြင်ခြင်းမရှိပါကဤအသင်္ကေတတန်ဖိုးများသည်အစီအစဉ်၏နောက်ဆက်တွဲယုတ္တိဗေဒကိုအကျိုးသက်ရောက်စေပြီးကြိုတင်ခန့်မှန်းရခက်သောအမှားများကိုပင် ဦး တည်သွားနိုင်သည်။ is_infinite () function ကိုဤကိစ္စတွင်စစ်ဆေးမှုအဖြစ်အသုံးပြုနိုင်ပါသည်။
ကျွန်ုပ်တို့တွင်ဌာနခွဲစစ်ဆင်ရေးများပြုလုပ်ရန်လိုအပ်သောပရိုဂရမ်တစ်ခုရှိသည်ဆိုပါစို့။ ဤကိစ္စတွင် PHP သည်အပြုသဘောဆောင်သောအသင်္ချေ ( inf ) သို့မဟုတ်အပျက်သဘောဆောင်သောအသင်္ချေ ( -INF ) ကိုအလိုအလျောက်ထုတ်လုပ်လိမ့်မည်။ ကျွန်ုပ်တို့သည် is_infinite () ကို သုံးနိုင်သည်။ ရလဒ်သည်အကန့်အသတ်မရှိဆုံးဖြတ်ရန်နှင့်သင့်လျော်သောဆောင်ရွက်မှုများကိုပြုလုပ်နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">safe_divide</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$numerator</span></span></span><span>, </span><span><span class="hljs-variable">$denominator</span></span><span>) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$numerator</span></span><span> / </span><span><span class="hljs-variable">$denominator</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">$result</span></span><span>)) {
</span><span><span class="hljs-comment">// အမှားကိုင်တွယ်:Divisor သည်သုညဖြစ်သည်</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">return</span></span><span> </span><span><span class="hljs-literal">null</span></span><span>; </span><span><span class="hljs-comment">// ပြန်လာ null 或其他အမှားကိုင်တွယ်值</span></span><span>
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">safe_divide</span></span><span>(</span><span><span class="hljs-number">5</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-meta">?></span></span><span>
</span></span>အထက်ပါကုဒ်တွင် 5/0 လုပ်ရန်ကြိုးစားသောအခါ PHP သည် Inf Resp ဖြစ်သည်။ is_infinite () function ကို သုံး. ကျွန်ုပ်တို့သည်ဤအရာကိုဖမ်းနိုင်ပြီးအမှားမက်ဆေ့ခ်ျသို့မဟုတ်ကိုင်တွယ်သည့်နည်းလမ်းကိုသင့်လျော်စွာပြန်ပို့နိုင်သည်။
Exponential စစ်ဆင်ရေးများပြုလုပ်သောအခါရလဒ်သည် PHP ကိုယ်စားပြုမှုအကွာအဝေးထက်ကျော်လွန်ပါက၎င်းသည်အသင်္ချေမွေးမြူရေးကိုဖြစ်ပေါ်စေနိုင်သည်။ ယခုအချိန်တွင် is_infinite () သည် ကျွန်ုပ်တို့အားစစ်ဆေးရန်ကူညီနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">calculate_exponential</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$base</span></span></span><span>, </span><span><span class="hljs-variable">$exponent</span></span><span>) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pow</span></span><span>(</span><span><span class="hljs-variable">$base</span></span><span>, </span><span><span class="hljs-variable">$exponent</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">$result</span></span><span>)) {
</span><span><span class="hljs-comment">// အမှားကိုင်တွယ်:အဆိုပါအညွှန်းကိန်းတွက်ချက်မှု၏ရလဒ်များကိုအဆုံးမဲ့ဖြစ်ကြသည်</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">return</span></span><span> </span><span><span class="hljs-literal">null</span></span><span>; </span><span><span class="hljs-comment">// ပြန်လာ null 或其他အမှားကိုင်တွယ်值</span></span><span>
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">calculate_exponential</span></span><span>(</span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">1000</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:အမှား:အဆတွက်ချက်တွက်ချက်မှုအကွာအဝေးထဲကဖြစ်ကြသည်!</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>အထက်ပါကုဒ်တွင် Pow (10, 1000) ၏ရလဒ်သည် PHP ကိုကိုင်တွယ်နိုင်သည့်တန်ဖိုးများကို ကျော်လွန်. အသင်္ချေပြန်လည်ရောက်ရှိလာခဲ့သည်။ is_infinite () ရှာဖွေတွေ့ရှိခြင်းမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ဤခြွင်းချက်ကိုအချိန်မီဖမ်းယူ။ ကိုင်တွယ်နိုင်သည်။
ပိုမိုရှုပ်ထွေးသောအမှားကိုင်တွယ်မှုလုပ်ငန်းစဉ်တွင်ကျွန်ုပ်တို့သည်ပရိုဂရမ်၏အမှားသည်းခံမှုကိုတိုးတက်စေရန် Try-catch ထုတ်ပြန်ချက်များ, သစ်ထုတ်လုပ်ခြင်းစသဖြင့်အခြားအမှားကိုင်တွယ်သည့်ယန္တရားများနှင့်ပေါင်းစပ်နိုင်သည် ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">safe_calculate</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$numerator</span></span></span><span>, </span><span><span class="hljs-variable">$denominator</span></span><span>) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$numerator</span></span><span> / </span><span><span class="hljs-variable">$denominator</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">$result</span></span><span>)) {
</span><span><span class="hljs-comment">// အမှားကိုင်တွယ်:သစ်ခုတ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"သုညအားဖြင့်စားအမှား: <span class="hljs-subst">$numerator</span></span></span><span> / </span><span><span class="hljs-subst">$denominator</span></span><span> ရလဒ်အသင်္ကေတဖြစ်ပါတယ်", </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'/var/log/php_errors.log'</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">null</span></span><span>;
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">safe_calculate</span></span><span>(</span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// 记录အမှား并ထုတ်လုပ်ခြင်း:null</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Infinity အမှားမက်ဆေ့ခ်ျများကို log file ထဲသို့ 0 င်ရောက်ခြင်းကိုမှတ်တမ်းတင်ခြင်းနှင့်ထိန်းသိမ်းခြင်းအတွက်အလွန်အထောက်အကူပြုသည်။
PHP's_infinite () function သည်သင်္ချာစစ်ဆင်ရေးရလဒ်များကိုအသင်္ချေဖြစ်ကြောင်းစစ်ဆေးရန်တိကျသောထိရောက်သောနည်းလမ်းဖြစ်သည်။ ယုတ္တိဗေဒအမှားကိုင်တွယ်ပုံတွင်ဤလုပ်ဆောင်မှုကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည် developer များအလွန်အမင်းကိန်းဂဏန်းများကိုကျော်လွှားနိုင်ပြီးဤကိန်းဂဏန်းတန်ဖိုးများကြောင့် crashing သို့မဟုတ်ကြိုတင်ခန့်မှန်းနိုင်သောအပြုအမူများကိုရှောင်ရှားရန်ကူညီနိုင်သည်။ ရိုးရှင်းသောဌာနခွဲလုပ်ငန်းများသို့မဟုတ်ရှုပ်ထွေးသောအဆက်မပြတ်တွက်ချက်မှုများတွင်ဖြစ်စေ, is_infinite () သည် developer များ၏လက်ထဲတွင်ဖြစ်စေ,