PHP ပရိုဂရမ်တွင် is_nan () function သည်တန်ဖိုးတစ်ခုမဟုတ်ပါ။ ကိန်းဂဏန်းတွက်ချက်မှုများနှင့်ပတ်သက်လာလျှင်နန်တန်ဖိုးများသည်အထူးသဖြင့် floating point တွက်ချက်မှုများတွင်ပေါ်လိမ့်မည်။ ဥပမာအားဖြင့်, အချို့သောသင်္ချာဆိုင်ရာစစ်ဆင်ရေးများသည်မမှန်ကန်သောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ Code ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အထူးသဖြင့်အချက်အလက်အမြောက်အများပါ 0 င်သောအခါအထူးသဖြင့်အချက်အလက်အမြောက်အများပါ 0 င်သည့်အခါထပ်ခါတလဲလဲဆုံးဖြတ်ချက်များနှင့်မလိုအပ်သောစစ်ဆင်ရေးများကိုရှောင်ရှားရန်အထူးအရေးကြီးသည်။
ဤဆောင်းပါးတွင် PHP code တွင် IS_NAN () function ကိုမည်သို့ကောင်းမွန်အောင်ပြုလုပ်ရမည်ကိုလေ့လာမည်။ မလိုအပ်သောထပ်တူတရားသူကြီးများကိုရှောင်ရှားရန်နှင့်အလုံးစုံစွမ်းဆောင်ရည်ကိုတိုးတက်အောင်လုပ်ပါ။
is_nan () function ၏ function သည် function သည်ပေးထားသောတန်ဖိုးကို Nan မရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။ ဤတွင်၎င်း၏အခြေခံအများများဖြစ်သည်။
$value = sqrt(-1); // ပြန်လာNaN
if (is_nan($value)) {
echo "တန်ဖိုးNaN";
}
အထက်ပါကုဒ်တွင် SQRT (-1) သည် နယ်နိမိတ်တန်ဖိုးကိုပြန်ပို့သည်။ ၎င်းသည် Nan is_nan () ကို နန်ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်အသုံးဝင်သော်လည်းအချို့ဖြစ်ရပ်များတွင်ကျွန်ုပ်တို့သည်၎င်းကိုအကြိမ်များစွာခေါ်ဆိုနိုင်ပြီးအထူးသဖြင့်ကြိမ်နှုန်းမြင့်တွက်ချက်မှုများတွင်စွမ်းဆောင်ရည်ပြ issues နာများကိုဖြစ်ပေါ်စေသည်။
အချို့ဖြစ်ရပ်များတွင် is_nan () function ကိုထပ်ခါတလဲလဲဟုခေါ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်တန်ဖိုးအမျိုးမျိုးကိုကွင်းထဲ၌လျှို့ဝှက်ထားသည်ကိုသင်ဆုံးဖြတ်ပါကသင်အလားတူချက်လက်မှတ်များကိုအကြိမ်ကြိမ်ပြုလုပ်နိုင်သည်။ ချက်လက်မှတ်တစ်ခုစီတွင်စွမ်းဆောင်ရည် - အထူးကြပ်မတ်သောအသုံးချပရိုဂရမ်များအပေါ်သိသိသာသာသက်ရောက်မှုရှိနိုင်သည်။
ဤအခြေအနေကိုပိုမိုကောင်းမွန်စေရန်ကျွန်ုပ်တို့သည်ထပ်ခါတလဲလဲပြုလုပ်နိုင်သည့်နေရာများစွာတွင် ထပ်ခါတလဲလဲ တောင်းဆိုမှုများကိုကျွန်ုပ်တို့ရှောင်ရှားနိုင်သည်။
Looping သို့မဟုတ်ပြန်လည်အသုံးပြုခြင်းတွင်ကျွန်ုပ်တို့သည်ထပ်ခါတလဲလဲဆုံးဖြတ်ချက်များရှောင်ရှားရန်တရားစီရင်ချက်ရလဒ်များကိုသိမ်းဆည်းနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်နံပါတ်များစွာပါ 0 င်သောခင်းကျင်းမှုတစ်ခုပြုလုပ်ရန်လိုသည်ဆိုပါစို့။
$values = [sqrt(-1), 2, sqrt(-1), 3];
$nanResults = []; // cache ရလဒ်များ
foreach ($values as $index => $value) {
if (!isset($nanResults[$index])) {
$nanResults[$index] = is_nan($value);
}
if ($nanResults[$index]) {
echo "အဘိုး $index ဟုတ်ကဲ့NaN\n";
}
}
အထက်ပါကုဒ်တွင်တန်ဖိုးတစ်ခုစီသည် Nan နှင့်ရလဒ်ကို array တစ်ခုအဖြစ်သတ်မှတ်ခြင်းရှိမရှိကို ဦး စွာဆုံးဖြတ်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည် is_nan () ကို ခေါ်ဆိုမည့်အစားသိမ်းဆည်းထားသောရလဒ်ကိုတိုက်ရိုက်အသုံးပြုသည်။
သင်ကနင်ကိုအကြိမ်ကြိမ်အကောင်အထည်ဖော်ရန်လိုအပ်ပါကယုတ္တိဗေဒကိုပေါင်းစည်းရန်နှင့် function ခေါ်ဆိုမှုများကိုလျှော့ချရန်ကြိုးစားနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်ပေါင်းစပ်အခြေအနေတွင်တရားစီရင်ရန်သင် is_nan () ကို အသုံးပြုသောအခါသင်သည်ရိုးရှင်းသောအခြေအနေများကို ဦး စွာတရားစီရင်နိုင်သည့်အခါရိုးရှင်းသောအခြေအနေများကို ဦး စွာတရားစီရင်နိုင်ပြီးသင်ဆက်လက်ဆုံးဖြတ်ရန်လိုအပ်သည်ကိုဆုံးဖြတ်နိုင်သည်။
$val1 = sqrt(-1);
$val2 = 3;
if (is_nan($val1) || is_nan($val2)) {
echo "ရှိNaNအဘိုး";
}
အချို့သောကိစ္စရပ်များအား အတားအဆီးများ မဆုံးဖြတ်မီအမှန်တကယ်စီးပွားရေးယုတ္တိဗေဒအပေါ် အခြေခံ. နောက်ထပ်တရားစီရင်ခြင်းမလိုအပ်သည့်ကိစ္စရပ်အချို့ကိုသင်ဖယ်ရှားနိုင်သည်။
အခြေခံကျကျနန်တန်ဖိုးများကိုထုတ်လုပ်ခြင်းကိုရှောင်ရှားနိုင်လျှင်ကျွန်ုပ်တို့သည်ချက်လက်မှတ်ကိုလုပ်ရန်မလိုအပ်ပါ။ ဤသို့ပြုလုပ်ရန်တွက်ချက်မှုသည်မမှန်ကန်သောတန်ဖိုးများကိုမထုတ်လုပ်နိုင်စေရန်သေချာစေရန်အစီအစဉ်တွင်ထပ်မံအတည်ပြုသည့်အဆင့်များသို့ထည့်သွင်းနိုင်သည်။
$value = $denominator != 0 ? $numerator / $denominator : 0; // ခွဲခြင်းကိုရှောင်ပါ0ဦး ဆောင်လမ်းပြNaN
ဤကုဒ်တွင်ပိုင်းခြေသည် 0 မဟုတ်သည့်အခါမှသာကွဲပြားခြင်းကိုပြုလုပ်သည်။ Nan Denominator သည်နန်၏ဖြစ်စဉ်ကိုရှောင်ရှားသည်။ ပိုင်းခြေသည် 0 ဖြစ်သော 0 ဖြစ်ပါလိုလျှင် NAN ၏တန်ဖိုးကိုရှောင်ရှားနိုင်ပြီးနောက်ဆက်တွဲတရားစီရင်မှုအရေအတွက်ကိုလျော့နည်းစေသည်။
IS_NAN () ကို အသုံးပြုခြင်းအပြင် PHP သည်နယ်နိမိတ်များကိုထုတ်လုပ်ခြင်းကိုရှောင်ရှားရန်ကူညီနိုင်သည့်အခြားသင်္ချာဆိုင်ရာလုပ်ဆောင်ချက်များကိုလည်းထောက်ပံ့ပေးသည်။ For example, the is_finite() function can check whether a value is a finite number (non-NaN and non-infinite).
$value = sqrt(-1); // ပြန်လာNaN
if (!is_finite($value)) {
echo "အဘိုး不ဟုတ်ကဲ့ရှိ限数";
}
is_finite () သည် is_nan ထက်ကျယ်ပြန့်သည်။ ၎င်းသည် Nan.nan () သည်နန္စည်း, အသင်္ချေသို့မဟုတ်အခြားလက်မခံနိုင်သောတန်ဖိုးကိုဆုံးဖြတ်နိုင်သည်။ ၎င်းသည်အချို့သောအခြေအနေများတွင် IS_NAN () ကို အစားထိုးနိုင်သည်။
PHP code တွင် is_nan () function ကိုအသုံးပြုခြင်းသည် PHP code ရှိလုပ်ဆောင်မှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ အဓိက optimization နည်းလမ်းများတွင် -
တရားသဖြင့်စီရင်ရလဒ်များကို cache နှင့်ထပ်ခါတလဲလဲခေါ်ဆိုမှုကိုရှောင်ကြဉ်ပါ။
ယုတ္တိတရားစီရင်ချက်ပေါင်းစည်းခြင်းနှင့် function ခေါ်ဆိုမှုများကိုလျှော့ချပါ။
Nan တန်ဖိုးများကိုရှောင်ကြဉ်ရန်ကြိုးစားပါ။
is_finite () ကို အစားထိုးရန် is_nan () ကိုအစားထိုးရန် IS_FINITE () ကိုအစားထိုးရန်အခြားသင်္ချာဆိုင်ရာလုပ်ဆောင်မှုများကိုသုံးပါ။
ဤနည်းလမ်းများမှတစ်ဆင့်ကျွန်ုပ်တို့သည် code တွင် is_nan () အသုံးပြုခြင်းကိုအကောင်းဆုံးလုပ်ခြင်း, အလုံးစုံစွမ်းဆောင်ရည်တိုးတက်စေရန်နှင့်ထပ်ခါတလဲလဲဆုံးဖြတ်ချက်များကြောင့်ဖြစ်ရတဲ့အရင်းအမြစ်များကိုစွန့်ပစ်ပစ္စည်းများကိုရှောင်ရှားနိုင်သည်။
သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ်စွမ်းဆောင်ရည်ပိုမိုကောင်းမွန်စေသောအကြံဥာဏ်များကိုပိုမိုသိရှိလိုပါကကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက် Gitbox.net သို့ပိုမိုလေ့လာရန်ပိုမိုလေ့လာရန်သင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။