လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အဘယ်ကြောင့် is_numeric ပြန်လာသောအခါ is_nan စစ်မှန်သောပြန်လာသောအခါမှားယွင်းသောပြန်လာ?

အဘယ်ကြောင့် is_numeric ပြန်လာသောအခါ is_nan စစ်မှန်သောပြန်လာသောအခါမှားယွင်းသောပြန်လာ?

gitbox 2025-05-27

PHP တွင် IS_NAN () နှင့် is_numeric () သည်အသုံးများသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်ပြီး variable တစ်ခုသည်နံပါတ် (သို့) နံပါတ်သို့မဟုတ်ဂဏန်းတစ်ခုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင်အဘယ်ကြောင့်အချို့သောကိစ္စရပ်များတွင် အဘယ်ကြောင့် _nan () ပြန်လာရန် အဘယ်ကြောင့် စိတ်ရှုပ်ထွေးနိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခုသည်နက်ရှိုင်းစွာအလုပ်လုပ်ပုံနှင့်၎င်းတို့အကြားကွာခြားချက်များကိုမည်သို့ရှင်းပြသည်ကိုတူးဖော်လိမ့်မည်။

1 ။ အလုပ်လုပ်နေသော _nan () function ကို၏အလုပ်လုပ်နိယာမ

IS_NAN () သည်တန်ဖိုးတစ်ခုမဟုတ်ပါ (နံပါတ်မဟုတ်) ကိုစစ်ဆေးရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ Nan သည်တရားမဝင်ကိန်းဂဏန်းတွက်ချက်မှုရလဒ်ကိုကိုယ်စားပြုသောအထူး floating point တန်ဖိုးတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်, သင်သည်သင်္ချာစစ်ဆင်ရေးအချို့ကိုလုပ်ဆောင်သောအခါရလဒ်သည်မှန်ကန်သောနံပါတ်မဟုတ်လျှင် Nan ကိုပြန်ပို့နိုင်သည်။ ယေဘူယျအားဖြင့် Nanka သည်အောက်ပါအခြေအနေများကြောင့်ဖြစ်သည်။

  • 0 င်အားဖြင့်ခွဲ

  • အနုတ်လက်ခဏာနံပါတ်၏စတုရန်းအမြစ်

  • မမှန်ကန်သောသင်္ချာဆိုင်ရာအသုံးအနှုန်း (ဥပမာ - မမှန်ကန်သော strings များကိုနံပါတ်များအဖြစ်ပြောင်းလဲခြင်း)

ဤတရားမဝင်နံပါတ်များကို is_nan () ကို သုံး. ရှာဖွေတွေ့ရှိနိုင်သည်။

ဥပမာ -

 $var1 = acos(2); // ဒါကတရားမဝင်စစ်ဆင်ရေးပါ,acos(2) ပြန်လာပါလိမ့်မယ် NaN
$var2 = 0 / 0;   // 0 အားဖြင့်ဝေ 0 ရလဒ်လည်းဖြစ်ပါတယ် NaN

echo is_nan($var1); // ထုတ်လုပ်ခြင်း true
echo is_nan($var2); // ထုတ်လုပ်ခြင်း true

2 ။ အလုပ်လုပ်နေသော အလုပ်လုပ် နိူင်ငံရေးသည်မည်သို့အလုပ်လုပ်သည်

is_numeric () variable တစ်ခုသည်ဂဏန်းကြိုးကြိုးသို့မဟုတ်ဂဏန်းကြိုးကြိုးတစ်ခုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်ပေးထားသောတန်ဖိုးသည်တရားဝင်ဂဏန်းအမျိုးအစားသို့မဟုတ်နံပါတ်သို့ကူးပြောင်းနိုင်သည်ရှိမရှိစစ်ဆေးသည်။ သတိပြုသင့်သည်မှာ၎င်းသည်တန်ဖိုးသည်မှန်ကန်သော floating point နံပါတ်တစ်ခုဖြစ်ပါသလား

ဥပမာ -

 echo is_numeric(123);     // ထုတ်လုပ်ခြင်း true,123 ဒါဟာနံပါတ်ပါ
echo is_numeric("123");   // ထုတ်လုပ်ခြင်း true,ကြိုး "123" 也ဒါဟာနံပါတ်ပါ
echo is_numeric("12.34"); // ထုတ်လုပ်ခြင်း true,ကြိုး "12.34" 也ဒါဟာနံပါတ်ပါ
echo is_numeric("abc");   // ထုတ်လုပ်ခြင်း false,"abc" 不ဒါဟာနံပါတ်ပါ

3 ။ အဘယ်ကြောင့် do_nan () နှင့် is_numeric () အတွက်ကွဲပြားခြားနားသောတန်ဖိုးများကွဲပြားခြားနားသောတန်ဖိုးများ?

IS_NAN () နှင့် is_numeric () နှစ် ဦး စလုံးသည်နံပါတ်များကိုရှာဖွေတွေ့ရှိခြင်းပါ 0 င်သော်လည်း၎င်းတို့၏စစ်ဆေးခြင်းယန္တရားများသည်အထူးသဖြင့် Nan နှင့်ဆက်ဆံရာတွင်ကွဲပြားသည်။

  • IS_NAN () သည် တန်ဖိုးတစ်ခုဖြစ်ပြီး၎င်းသည်အထူး "Non-non-non-non-non-value ဖြစ်သည်ကိုစစ်ဆေးရန်အထူးအသုံးပြုသည်။ Nan သည် floating point ရိယာတစ်ခုဖြစ်ပြီး is_numeric () သည် တန်ဖိုးကိုမှန်ကန်သောနံပါတ်သို့ပြောင်းလဲနိုင်သည်ကိုသာဂရုပြုသည်။

  • IS_NAN () ပြန်လာသည့်အခါ is_numeric () သည် မှားယွင်းသော အယူမှား သည်။ ဘာဖြစ်လို့လဲဆိုတော့ Nan မမှန်ကန်သောနံပါတ်မဟုတ်သည့်အတွက် is_numeric () သည် နံပါတ်များသို့ပြောင်းလဲနိုင်သောခိုင်လုံသောနံပါတ်များသို့မဟုတ်ကြိုးများကိုသာအသိအမှတ်ပြုနိုင်သည်။ Nan နန်ကိုတရားဝင်နံပါတ်ထည့်လို့မရပါဘူး, ဒါကြောင့် is_numeric () မှားယွင်းတဲ့ ပြန်လာ။

ဥပမာ -

 $var = acos(2); // NaN

echo is_nan($var);    // ထုတ်လုပ်ခြင်း true,$var ဟုတ်ကဲ့ NaN
echo is_numeric($var); // ထုတ်လုပ်ခြင်း false,NaN 不ဟုတ်ကဲ့一个合法的数字

4 ။ အကျဉ်းချုပ်

  • IS_NAN () သည် တန်ဖိုးကိုနန်ဖြစ်သည်ကိုသာဆုံးဖြတ်နိုင်သည်။ ၎င်းသည် မှန်ကန် သည့်အခါ၎င်းသည်တန်ဖိုးသည်တရားမ 0 င်သောအရေအတွက်ဖြစ်သည်ဟုဆိုလိုသည်။

  • is_numeric () တန်ဖိုးကိုခိုင်လုံသောနံပါတ်အဖြစ်အသုံးပြုနိုင်ပါသလားကိုစစ်ဆေးရန်အသုံးပြုသည်။ Nank Nane ကိုမမှန်ကန်တဲ့နံပါတ်လို့သတ်မှတ်ထားတဲ့အတွက်တော့အဲဒါ မှားယွင်းတဲ့ ပြန်လာတယ်။

ထို့ကြောင့် PHP တွင် IS_NUMERARC () is_nan () ပြန်လည်ရောက်ရှိသည့်အခါ မှားယွင်းသော ပြန်လာသည်