PHP ပရိုဂရမ်တွင် string တစ်ခုသည်နံပါတ်တစ်ဖြစ်သည်ကိုဆုံးဖြတ်ရန်မကြာခဏလိုအပ်သည်။ ဤလိုအပ်ချက်သည်ဒေတာစစ်ဆေးခြင်း, အသုံးပြုသူ input processing, form verification စသဖြင့်ဖြစ်ရပ်များတွင်အထူးသဖြင့် PHP သည်အလွန်လက်တွေ့ကျကျ built-in function ကိုထောက်ပံ့ပေးသည် ။
ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကိုပိုမိုနားလည်သဘောပေါက်ခြင်းနှင့်လက်တွေ့ကျင့်သုံးရန်ကူညီရန်မည်သည့် is_numeric function ကိုအသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြပါမည်။
is_numeric သည် PHP ရှိ function တစ်ခုဖြစ်ပြီး variable တစ်ခုသည်ဂဏန်း (သို့) ဂဏန်းသို့မဟုတ်ဂဏန်းကြိုးကြိုးတစ်ချောင်းဖြစ်သည်။ ၎င်းသည် boolean တန်ဖိုးကို စစ်မှန်သော (သို့) မှားယွင်းသော အရာဖြစ်သည်။
အကယ် . variable တစ်ခုကိန်းတစ်ခု, floating point အရေအတွက်သို့မဟုတ်နံပါတ်များရေးစပ်သည့် string တစ်ခုဖြစ်ပါက (ဒ decimal မအချက်များ,
မဟုတ်ရင် မှားယွင်းတဲ့ ပြန်လာတယ်။
function ကိုအဓိပ္ပါယ်:
bool is_numeric ( mixed $var )
parameter သည် $ var သည် သင်ရှာဖွေလိုသော variable ကိုဖြစ်သည်။
အောက်ဖော်ပြပါသည် is_numeric အသုံးပြုမှုကိုပြသရန်ကုဒ်ဥပမာအနည်းငယ်ဖြစ်သည်။
<?php
$values = [
"123",
"12.3",
"-123",
"1e10",
"abc",
"123abc",
"",
" 123 ",
null,
123,
12.3
];
foreach ($values as $value) {
if (is_numeric($value)) {
echo "'$value' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်\n";
} else {
echo "'$value' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး\n";
}
}
?>
ရလဒ်ရလဒ် -
'123' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
'12.3' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
'-123' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
'1e10' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
'abc' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး
'123abc' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး
'' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး
' 123 ' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး
'' မဟုတ်ပါဘူးဂဏန်း string ကိုမဟုတ်ပါဘူး
'123' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
'12.3' နံပါတ်သို့မဟုတ်နံပါတ်များ string ကိုဖြစ်ပါတယ်
ရလဒ်များမှတွေ့မြင်နိုင်သည့်အတိုင်း is_numeric သည် ကိန်းဂဏန်းများ, ရေပေါ်အမှတ်အသားများ, အနုတ်လက္ခဏာများနှင့်ကိန်းဂဏန်းများကိုသိသိသာသာပြသနိုင်သော်လည်းသိပ္ပံဆိုင်ရာမှတ်စုများပါ 0 င်သောကြိုးများကိုမထောက်ပံ့ပါ။
<?php
$user_input = "45.67";
if (is_numeric($user_input)) {
echo "ထည့်သွင်းတရားဝင်နံပါတ်ဖြစ်ပါတယ်";
} else {
echo "အဆိုပါ input ကိုနံပါတ်မဟုတ်ပါဘူး,ကျေးဇူးပြု. ပြန်လည်ထည့်ပါ";
}
?>
parameters တွေကို URL မှရရှိသည်ဟုယူဆခြင်းသည်တရားမ 0 င်ဆေးထိုးခြင်းကိုတားဆီးရန်သတ်မှတ်ချက်များသည်နံပါတ်များဖြစ်သည်ကိုဆုံးဖြတ်ရန်လိုအပ်သည်။
<?php
$id = $_GET['id'] ?? '';
if (is_numeric($id)) {
echo "ထိရောက်သောID: " . intval($id);
} else {
echo "အားမရှိသောIDတေးရေး";
}
?>
Transpring ကို is_numeric မှဆုံးဖြတ်သော်လည်းကိန်းဂဏန်းလိုအပ်ပါက၎င်းကို ပိုမို. ပြောင်းလဲခြင်း သို့မဟုတ်အမျိုးအစားပြောင်းလဲခြင်းဖြင့်ထပ်မံလုပ်ဆောင်နိုင်သည်ကိုသတိပြုပါ။
is_numeric သည် strings and ××44 နှင့် + 1E3 ကဲ့သို့သောနံပါတ်များအဖြစ်အပြုသဘောနှင့်အနုတ်လက်ခဏာသင်္ကေတများနှင့်သိပ္ပံနည်းကျမှတ်စုများနှင့်အတူ strings များကိုအသိအမှတ်ပြုလိမ့်မည် ။
အချည်းနှီးသောကြိုးများ, စင်ကြယ်သောအာကာသကြိုးများနှင့်အက်ခရာနံပါတ်ရောနှောထားသောကြိုးများအားလုံး မှားယွင်းစွာ ပြန်လာလိမ့်မည်။
အကယ်. variable သည်စင်ကြယ်သောကိန်းတစ်ခုဟုတ်မဟုတ်ကိုသင်ပြောရန်လိုအပ်ပါက Cype_digit ကို သုံးနိုင်သည်, သို့သော်၎င်းသည်လက်မှတ်မထိုးထားသောဂဏန်းကြိုးများကိုသာထောက်ပံ့သည်။
အကယ်. သင် floating point နံပါတ်များ (သို့) ကိန်းများကိုအကဲဖြတ်ရန်လိုအပ်ပါကသင်သည် filter_var နှင့်ပုံမှန်အသုံးအနှုန်းများကိုပိုမိုတင်းကျပ်စွာရှာဖွေတွေ့ရှိရန်ပေါင်းစပ်နိုင်သည်။
is_numeric သည် PHP တွင်ရိုးရိုးရှင်းရှင်းနှင့်ထိရောက်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အသုံးပြုသူ input ကိုသို့မဟုတ် variable အမျိုးအစားများကိုလျင်မြန်စွာအတည်ပြုရန်နှင့်ဖြစ်နိုင်ချေများစွာတွင်အလွန်လက်တွေ့ကျရန်သင့်တော်သည်။ ၎င်း၏အပြုအမူနှင့်နယ်နိမိတ်အခြေအနေများကိုနားလည်ခြင်းသည်ပိုမိုခိုင်မာသည့်ကုဒ်ကိုရေးရန်ကူညီနိုင်သည်။
အကယ် . သင်သည်ဒီဂျစ်တယ်အတည်ပြုချက်ကိုပြုလုပ်နေပါက IS_NUMERUCE ကို ဦး စွာအသုံးပြုရန်အကြံပြုသည် ။