PHP ပရိုဂရမ်တွင်ရေပေါ်တန်ဖိုးများကိုပြုပြင်သည့်အခါ "မမှန်ကန်သော" တန်ဖိုးများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဥပမာအားဖြင့်, အချို့သောသင်္ချာဆိုင်ရာစစ်ဆင်ရေးများသည် Nan (နံပါတ်မဟုတ်ပါ) ပြန်လာနိုင်သည်။ Flowating Value သည် Nan is ရှိမရှိဆုံးဖြတ်ရန် PHP သည် IS_NAN function ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် floating value သည်မမှန်ကန်တဲ့တန်ဖိုး, သက်ဆိုင်ရာကုဒ်ကိုပြသရန်ဤလုပ်ငန်းကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
Nan သည် floating numeric type အမျိုးအစား၏အထူးတန်ဖိုးတစ်ခုဖြစ်သည်။
သင်္ချာဆိုင်ရာစစ်ဆင်ရေးများသည် 0 0 အား 0 င် ခွဲ. သို့မဟုတ်မမှန်ကန်တဲ့စတုရန်းအမြစ်တွက်ချက်မှုအဖြစ်သတ်မှတ်ထားသည့်ခိုင်လုံသောကိန်းဂဏန်းတန်ဖိုးကိုမပြန်နိုင်ပါ။
အချို့သောပြင်ပဒေတာအရင်းအမြစ်များသည်ကိန်းဂဏန်းများမဟုတ်သည့်တန်ဖိုးများကိုကျော်လွန်သွားသောတန်ဖိုးများကိုတရားဝင်နံပါတ်များအဖြစ် ပြောင်းလဲ. မရပါ။
PHP တွင် Nan တွင် Nan သည် မည်သည့်တန်ဖိုးမဆိုနှင့်မတူပါ။ ထို့ကြောင့် Nance နှစ်ခုစလုံးကိုနှိုင်းယှဉ်သောအခါရလဒ်မှာရလဒ်မှာအမြဲတမ်း မှားယွင်းနေ သည် ။
PHP သည် floating value nan သည် နင်သည်နင်ကို ရှာဖွေရန် is_nan function ကိုထောက်ပံ့ပေးသည်။ အသုံးပြုရန်အလွန်လွယ်ကူသည်။
<?php
$value = 0 / 0; // တစ် ဦး generate NaN အဘိုး
if (is_nan($value)) {
echo "ဒါ NaN အဘိုး";
} else {
echo "ဒါ有效的数အဘိုး";
}
?>
အထက်ဖော်ပြပါကုဒ်များတွင် ဒေါ်လာတန်ဖိုးကို Nance 0/0 လည်ပတ်မှုမှတစ်ဆင့် Nan . နန် သို့သတ်မှတ်ပြီး၎င်းသည် IS_NAN () function ကိုဖြတ်သန်းသွားမည်ကိုစစ်ဆေးပါ။ သို့ဆိုလျှင်သက်ဆိုင်ရာချက်ချင်းသတင်းအချက်အလက် output ။
အကယ်. variable ကိုနန်တစ်ခုဖြစ် ပါက is_nan function သည် မှန်ကန်သည် ။
အကယ်. variable ကို နင် မဟုတ်လျှင် မှားယွင်းစွာ ပြန်လာသည်။
ဒီနေရာမှာ Nan တန်ဖိုးရှာဖွေတွေ့ရှိမှုအတွက်ဘုံစံချိန်အချို့ကိုကြည့်ပါ။
<?php
$values = [0 / 0, log(-1), sqrt(-1), 100, 3.14];
foreach ($values as $value) {
if (is_nan($value)) {
echo "$value အဲဒါတစ်ခုပါ NaN အဘိုး\n";
} else {
echo "$value မဟုတ် NaN အဘိုး\n";
}
}
?>
အထက်ဖော်ပြပါကုဒ်များတွင်တန်ဖိုးများစွာရှိသောတန်ဖိုးများကိုကျွန်ုပ်တို့စစ်ဆေးပြီးအချို့မှာ Log (-1) နှင့် SQRT (-1) ကဲ့သို့သောမမှန်ကန်သော Nန် တန်ဖိုးများဖြစ်သည်။ ပရိုဂရမ်သည်၎င်းကို Nan မ ရှိမရှိတန်ဖိုးနှင့်ရလဒ်များကိုစစ်ဆေးသည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည် URL မှ floating တန်ဖိုးများကို parameters များအနေဖြင့်ရနိုင်သည် ။ URL parameters တွေကိုအခြေခံပြီးဥပမာတစ်ခုပါ။
<?php
$url = 'http://gitbox.net/somepage.php?value=NaN';
parse_str(parse_url($url, PHP_URL_QUERY), $queryParams);
if (isset($queryParams['value']) && is_nan((float)$queryParams['value'])) {
echo "URL 中的အဘိုး无效 (NaN)";
} else {
echo "URL 中的အဘိုး有效";
}
?>
ဤဥပမာတွင် Gitbox.net မှ URL parameter တစ်ခုရရှိပြီး၎င်းသည် နန် ဖြစ်သည်ကိုအဆုံးအဖြတ်ပေးသည်။ ပထမ ဦး စွာ URL ရှိ query string ကိုခွဲခြမ်းစိတ်ဖြာပါ။ ထို့နောက် passing floating value သည်မှန်ကန်မှုရှိမရှိစစ်ဆေးရန် is_nan ကို သုံးပါ။
IS_NAN သည် numeric numeric အမျိုးအစားများနှင့်သာသက်ဆိုင်သည်။ ဤလုပ်ဆောင်မှုကိုအခြားအချက်အလက်များအတွက် (ဥပမာ strings, ကိန်းဂဏန်းများစသည်တို့) အတွက်ဤလုပ်ငန်းဆောင်တာများကိုခေါ်ဆိုခြင်းက မှားယွင်းစွာ ပြန်လာလိမ့်မည်။
variable တစ်ခုသည်နံပါတ်တစ်ခုနှင့်နင်မဟုတ်သော နင် မဟုတ်ကြောင်းဆုံးဖြတ်ရန်လိုအပ်ပါကသင်သည် is_numeric function နှင့် is_nan function ကိုပေါင်းစပ်နိုင်သည်။
<?php
$value = "abc";
if (is_numeric($value) && !is_nan((float)$value)) {
echo "$value အဲဒါတစ်ခုပါ有效的数အဘိုး";
} else {
echo "$value မဟုတ်有效的数အဘိုး";
}
?>
IS_NAN function သည် floating value nan ကို နန် ရှိမရှိဆုံးဖြတ်ရန်လွယ်ကူသောနည်းလမ်းဖြစ်သည်။ ၎င်းကိုအသုံးပြုခြင်းအားဖြင့် developer များသည်မမှန်ကန်သောတန်ဖိုးများကိုတိကျစွာရှာဖွေတွေ့ရှိနိုင်သည်။ အထူးသဖြင့်ပြင်ပဒေတာအရင်းအမြစ်များသို့မဟုတ်သုံးစွဲသူထည့်သွင်းမှုများကိုလုပ်ဆောင်သောအခါ is_nan function ကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အလားအလာရှိသောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။