အဆိုပါ settype () function ကိုသတ်မှတ်ထားသောအမျိုးအစားမှ variable အမျိုးအစားကိုပြောင်းလဲရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
settype($var, $type);
$ var ကို ပြောင်းလဲခံရဖို့အမျိုးအစား variable ကိုဖြစ်ပါတယ်။
$ type သည်ပစ်မှတ်အမျိုးအစားဖြစ်ပြီးဘုံအမျိုးအစားများတွင် "int" , "boat" , "Boat", "Boat" , "Boat" ,
အဆိုပါ settype () function ကိုပြောင်းလဲခြင်းသည်ပြောင်းလဲခြင်းအောင်မြင်မှုရှိမရှိညွှန်ပြနေသော boolean value ကိုပြန်ပို့သည်။ ပြောင်းလဲခြင်းသည်အောင်မြင်သည်ဆိုပါက စစ်မှန်ပါ ။
SetTYPE () ကို အသုံးပြုသောအခါ passed variable ကိုသတ်မှတ်ထားသောအမျိုးအစားသို့ ပြောင်းလဲ. မရပါက PHP သည်ခွဲစိတ်ကုသမှုကိုလျစ်လျူရှုခြင်းသို့မဟုတ်မမျှော်လင့်သောရလဒ်များကိုထုတ်ဖော်ပြောဆိုနိုင်သည်။ ဤပြ problems နာများကိုရှောင်ရှားရန်အောက်ပါနည်းလမ်းများကိုရယူနိုင်ပါသည်။
အမျိုးအစားပြောင်းလဲခြင်းမပြုမီ, ပထမ ဦး စွာပြောင်းလဲခြင်းသည်အဓိပ္ပာယ်ရှိစေရန်သေချာသည့်လက်ရှိ variable အမျိုးအစားကို ဦး စွာစစ်ဆေးပါ။ Variable အမျိုးအစားကိုအလွယ်တကူရရှိနိုင်သည့် GetType () function ကိုသုံးပါ။
$var = "123";
if (gettype($var) != 'integer') {
settype($var, 'integer');
}
ဤနည်းအားဖြင့်မလိုအပ်သောအမျိုးအစားပြောင်းလဲခြင်းကိုရှောင်ရှားနိုင်ပြီးပြောင်းလဲခြင်းမတိုင်မီပစ်မှတ်အမျိုးအစားသည်သင့်လျော်ကြောင်းသေချာစေနိုင်သည်။
is_ * () function သည် is_numeric () , is_string () , is_bool () စသည်တို့ကိုစစ်ဆေးရန် PHP မှပေးသောလုပ်ဆောင်ချက်အချို့မှာ PHP မှပေးသောလုပ်ဆောင်ချက်များဖြစ်သည်။ ဤလုပ်ဆောင်ချက်များကိုအမျိုးအစားပြောင်းလဲခြင်းမပြုမီပြောင်းလဲခြင်းအခြေအနေများနှင့်ကိုက်ညီစေရန်ဤလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။
$var = "100";
if (is_numeric($var)) {
settype($var, "int");
} else {
echo "Integer အမျိုးအစားသို့ပြောင်းလို့မရပါဘူး";
}
ဤချဉ်းကပ်မှုသည်မှားယွင်းသောပြောင်းလဲမှုများကိုရှောင်ရှားရန်ကူညီသည်။
Settype () မျှော်လင့်ထားသည့်အတိုင်း null valuse (e.g. null ) ကိုမကိုင်တွယ်နိုင်ပါ။ SetTTYPE () သည် Null တန်ဖိုးများကိုဖြစ်စဉ်များပြုလုပ်သောအခါ၎င်းကို default "သုည" တန်ဖိုးသို့ပြောင်းလဲနိုင်သည်။ ဥပမာအားဖြင့်, ဗလာကြိုးတစ်ချောင်းကို Boolean Fust သို့ပြောင်းလဲလိမ့်မည် ။ ဤအရာကိုရှောင်ရှားရန်အမျိုးအစားပြောင်းလဲမှုကိုမလုပ်ဆောင်မီ variable ကိုမလုပ်ဆောင်မီဗလာရှိမရှိကိုသင်စစ်ဆေးနိုင်သည်။
$var = "";
if (empty($var)) {
$var = 0; // ပုံမှန်တန်ဖိုးများကိုပေးပါ
}
settype($var, "int");
၎င်းသည် Null တန်ဖိုးများကိုပြုပြင်ပြောင်းလဲခြင်းခံရသည့်တိုင်ပြောင်းလဲခြင်းသည်မမျှော်လင့်သောရလဒ်များမရရှိပါ။
PHP သည်စာလုံးပေါင်းစာရိုက်သည့်ဘာသာစကားဖြစ်သည်။ ဆိုလိုသည်မှာအချို့ဖြစ်ရပ်များတွင် PHP သည်သွယ်ဝိုက်သောပုံစံပြောင်းလဲခြင်းကိုအလိုအလျောက်လုပ်ဆောင်လိမ့်မည်။ ဤသွယ်ဝိုက်ပြောင်းလဲခြင်းသည်ခန့်မှန်းရခက်သည့်ရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ အထူးသဖြင့်ဒေတာအမျိုးအစားသည်မရှင်းလင်းသောအခါသွယ်ဝိုက်ပြောင်းလဲခြင်းများသည်ပရိုဂရမ်အမှားများသို့မဟုတ်စွမ်းဆောင်ရည်ဆိုင်ရာပြ issues နာများကိုဖြစ်စေနိုင်သည်။ ထို့ကြောင့် SetTYPE ကို အသုံးပြုသောအခါသွယ်ဝိုက်ပြောင်းလဲခြင်းများကိုမှီခိုခြင်းနှင့်ပစ်မှတ်အမျိုးအစားကိုအတိအလင်းဖော်ပြရန်အကောင်းဆုံးဖြစ်သည်။
ဥပမာအားဖြင့်:
$var = "123abc"; // string တွင်နံပါတ်များနှင့်အက္ခရာများပါရှိသည်
settype($var, "int"); // ပြောင်းလဲခြင်းပြီးနောက်၎င်းသည်ဖြစ်လာလိမ့်မည်0,အကေြာင်းမှာPHPnon-certicer numeric numeric ring string ကိုကိန်းတစ်ခုသို့ပြောင်းရန်ကြိုးစားပါ
ဤကိစ္စတွင် string သည်မမျှော်လင့်သောရလဒ်များကိုရှောင်ရှားရန်ပြောင်းလဲခြင်းမပြုမီမမှန်ကန်တဲ့ဇာတ်ကောင်များပါ 0 င်ခြင်းရှိမရှိစစ်ဆေးရန်အကောင်းဆုံးဖြစ်သည်။
အမျိုးအစားပြောင်းလဲခြင်းကိုယ်တိုင်ကအကုန်အကျများသောစစ်ဆင်ရေးတစ်ခုဖြစ်ပြီးအလွန်အကျွံပြောင်းလဲခြင်းအစီအစဉ်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ ထို့ကြောင့်ကုဒ်ရေးသည့်အခါမလိုအပ်သောအမျိုးအစားပြောင်းလဲခြင်းကိုရှောင်ပါ။ အထူးသဖြင့်စွမ်းဆောင်ရည် - အထိခိုက်မခံသောကုဒ်တွင် SetTTYPE () သို့ခေါ်ဆိုမှုကိုအနည်းဆုံးပြုလုပ်သင့်သည်။
// မလိုအပ်သောအမျိုးအစားပြောင်းလဲခြင်း
$var = 123;
settype($var, "string"); // အဘယ်သူမျှမပြောင်းလဲခြင်းလိုအပ်သည်,တိုက်ရိုက်အသုံးပြုပါ$varမှျ
ပြောင်းလဲခြင်းပျက်ကွက်ခြင်းအမှား - အစောပိုင်းတွင်ဖော်ပြခဲ့သည့်အတိုင်း SetTTALPE () သည် အချက်အလက်များကိုအောင်မြင်စွာပြောင်းလဲခြင်းမပြုနိုင်ပါက faltype () မှားယွင်းစွာ ပြန်ပို့နိုင်သည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင်ပြောင်းလဲခြင်းသည်အမှားအယွင်းမရှိဘဲပြောင်းလဲခြင်းသည်တိတ်ဆိတ်စွာကျရောက်အောင်မကျမိနိုင်ပါ။ ထို့ကြောင့် SetType () ကို အသုံးပြုသောအခါပြန်လာတန်ဖိုးကိုအမြဲတမ်းစစ်ဆေးရန်အကြံပြုသည်။
$var = "abc";
if (!settype($var, "int")) {
echo "အမျိုးအစားပြောင်းလဲခြင်းမအောင်မြင်ပါ";
}
အထူးသ ဖြင့် floatval () နှင့် floatval ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းများတွင်အထူး သဖြင့် floatval () နှင့် floatval () သည် settentpe () သည်မူလ variable ကိုတိုက်ရိုက်ပြောင်းလဲခြင်းမရှိဘဲပြောင်းလဲခြင်းတန်ဖိုးကိုကျော်လွန်သွားလိမ့်မည်။
$var = "123abc";
$result = intval($var); // ရလဒ်ကတော့123,ဒါဟာမူလ variable ကိုအကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ$var
အမျိုးအစားပြောင်းလဲခြင်းမပြုမီ GetType () ကို သုံး ပါ ။
null တန်ဖိုးများအတွက်မမျှော်လင့်သောအမျိုးအစားပြောင်းလဲခြင်းကိုရှောင်ရှားရန်ပုံမှန်တန်ဖိုးများကိုသုံးပါ။
သွယ်ဝိုက်သောအမျိုးအစားပြောင်းလဲခြင်းကိုရှောင်ကြဉ်ပါ။
အထူးသဖြင့်စွမ်းဆောင်ရည်လိုအပ်ချက်များမြင့်မားသောအခြေအနေများအတွက်မလိုအပ်သောအမျိုးအစားပြောင်းလဲခြင်းကိုလျှော့ချပါ။
Setterype () ၏ပြန်လာတန်ဖိုးကိုအာရုံစိုက်ပြီးအမျိုးအစားပြောင်းလဲခြင်းပျက်ကွက်မှုကိုကိုင်တွယ်ပါ။
လိုအပ်သည့်အခါ Intval () နှင့် floatval () ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုမူလ variable ကိုတိုက်ရိုက်ပြုပြင်မွမ်းမံမည့်လုပ်ဆောင်မှုကိုအသုံးပြုရန်စဉ်းစားပါ။
အထက်ဖော်ပြပါအကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာခြင်းဖြင့်မမျှော်လင့်သောအပြုအမူနှင့်အမှားများကိုထိထိရောက်ရောက်ရှောင်ရှားနိုင်သည် ။