လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Data အမျိုးအစားများကိုပြောင်းလဲသည့်အခါ Settype () ကြုံတွေ့ရနိုင်သောပြ problems နာများ

Data အမျိုးအစားများကိုပြောင်းလဲသည့်အခါ Settype () ကြုံတွေ့ရနိုင်သောပြ problems နာများ

gitbox 2025-05-26

1 ။ Situ ရှိ variable ကိုပြောင်းပါ, ပြန်လာတန်ဖိုးသည် Boolean, နားလည်မှုလွဲမှားခြင်းအပြုအမူဖြစ်သည်

SetTTYPE () ၏အရေးကြီးသောအင်္ဂါရပ်သည်ပြောင်းလဲထားသောတန်ဖိုးအသစ်ကိုပြန်ပို့မည့်အစားဝင်လာသော variable ကိုသူ့ဟာသူအဖြစ်သို့တိုက်ရိုက်ပြုပြင်သည်။ ပြောင်းလဲခြင်းအောင်မြင်မှုအောင်မြင်မှုရှိမရှိညွှန်ပြသည့်၎င်း၏ပြန်လာသောတန်ဖိုးသည်အမြဲတမ်း boolean ဖြစ်သည်။

 $var = "123";
$result = settype($var, "integer");

var_dump($var);    // int(123)
var_dump($result); // bool(true)

နားလည်မှုလွဲခြင်းမှာအချို့သော developer တချို့က $ ရလဒ်သည် ပြောင်းလဲနိုင်သော တန်ဖိုး တစ်ခုဖြစ်လိမ့်မည်ဟုထင်ကောင်းထင်မည်,


2 ။ တစ် ဦး ဂဏန်းတန်ဖိုးကို string ကိုပြောင်းလဲသောအခါသွယ်ဝိုက်ခြင်းကို

ကိန်းတစ်ခုသို့မဟုတ် floating point နံပါတ်ကိုပြောင်းလဲခြင်းကိုပြောင်းလဲသည့်အခါ settertype () သည် string စသည့်အရနံပါတ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ဂဏန်းမဟုတ်သောဇာတ်ကောင်များနှင့်ကြုံတွေ့ရသောအခါရပ်တန့်သွားသောအခါရလဒ်မှာမျှော်လင့်ချက်များနှင့်မကိုက်ညီပါ။

 $str = "123abc";
settype($str, "integer");
var_dump($str); // int(123)

ဤသွယ်ဝိုက်သောပန်းစက်သည်ရောနှောထားသောနံပါတ်များနှင့်အက္ခရာများပါ 0 င်သောကြိုးများနှင့်ဆက်ဆံရာတွင်အထူးဂရုပြုရန်လိုအပ်သည်။


3 ။ BOOOLEAN အမျိုးအစားပြောင်းလဲခြင်း၏ထောင်ချောက်

boolean သို့ string တစ်ခုသို့ပြောင်းလဲသည့်အခါအချည်းနှီးသောကြိုးများကို ပြောင်းလဲခြင်း သည် မှန်ကန်သည်ဟု ယူဆကြသည်

 $str = "false";
settype($str, "boolean");
var_dump($str); // bool(true)

string contents သည် မှားယွင်းသော "မှားယွင်းသော" ဖြစ်သည်ဆိုလျှင်ပင်အပြောင်းအလဲလစ်ပြီးနောက် စစ်စောင့်ကြည့်နေဆဲဖြစ်သည်။


4 ။ အရာဝတ်ထုနှင့် array အမျိုးအစားပြောင်းလဲခြင်း၏ကန့်သတ်ချက်များ

Settype () အရာဝတ်ထုများကို array ထဲသို့တိုက်ရိုက် ပြောင်းလဲ. မရပါ။ ဤလိုအပ်ချက်အတွက်ပိုမိုသင့်လျော်သောပြောင်းလဲခြင်းနည်းလမ်းကိုအသုံးပြုသင့်သည်။

 $obj = new stdClass();
$obj->name = "gitbox";

$result = settype($obj, "array");
var_dump($result); // bool(false)
var_dump($obj);    // object(stdClass) with property name

// အကြံပြု Casting သို့မဟုတ်အခြားလုပ်ဆောင်ချက်များကိုအကြံပြု:
$arr = (array) $obj;
var_dump($arr);

5 ။ null type သို့ပြောင်းလဲခြင်း၏နားလည်မှုလွဲခြင်း

settype () variable တွေကို "null" အဖြစ်ပြောင်းခြင်းကိုပံ့ပိုးကူညီသည်။ သို့သော်၎င်းသည် Null အတွက် variable တန်ဖိုးကို သတ်မှတ်. ကိန်းဂဏန်းများသို့မဟုတ်အသုံးအနှုန်းများအတွက်အသုံးမပြုနိုင်ကြောင်းသတိပြုပါ။

 $var = "gitbox.net";
settype($var, "null");
var_dump($var); // NULL

6 ။ ခင်းကျင်းကို string တစ်ခုသို့ပြောင်းလဲသောအခါသတိပေး

Array ကို setterype () ကို string တစ်ခုသို့တိုက်ရိုက်ပြောင်းရန်ကြိုးစားခြင်းသည်သတိပေးချက်တစ်ခုဖြစ်ပေါ်လိမ့်မည်။

 $arr = [1, 2, 3];
settype($arr, "string"); // Warning: Array to string conversion

Array တစ်ခုသို့ string တစ်ခုသို့ string တစ်ခုသို့ပြောင်းရန်လိုအပ်သည် () သို့မဟုတ်အခြားနည်းလမ်းများလိုအပ်သည်။


အကျဉ်းချုပ်

Settype () သည် variable အမျိုးအစားများကိုတိုက်ရိုက်ပြောင်းလဲရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သော်လည်း၎င်း၏သွယ်ဝိုက်သောအပြုအမူများနှင့် variable များကိုတိုက်ရိုက်ပြုပြင်ပြောင်းလဲမှုကြောင့် developer များက၎င်းတို့အားအသုံးပြုသောအခါအောက်ပါအချက်များကိုဂရုပြုရန်လိုအပ်သည်။

  • function ကိုပြောင်းလဲခြင်းသည်ပြောင်းလဲနိုင်သောတန်ဖိုးကိုမပြောင်းလဲနိုင်ကြောင်းနားလည်ကြောင်းနားလည်သဘောပေါက်သည်။

  • string တစ်ခုကဂဏန်းတန်ဖိုးကိုပြောင်းတဲ့အခါကိန်းဂဏန်းမဟုတ်တဲ့ဇာတ်ကောင်တွေနောက်မှပါဝင်တဲ့အကြောင်းအရာတွေကိုဖြတ်တောက်လိမ့်မယ်။

  • Boolean ကူးပြောင်းသည့်အခါဗလာမဟုတ်သောကြိုးများသည် မှန်ကန် သည်။

  • အရာဝတ်ထုနှင့် array အမျိုးအစားများပြောင်းလဲခြင်းနှင့်အခြားနည်းလမ်းများလိုအပ်သည်နှင့် ပတ်သက်. ကန့်သတ်ချက်များရှိသည်။

  • NULL သို့ပြောင်းလဲခြင်းသည် variable ကိုတန်ဖိုးကိုရှင်းလင်းစေသည်။

  • Arrays ကို strings တွေကိုတိုက်ရိုက်မပြောင်းပါနဲ့။

ဤဘုံပြ problems နာများကိုနားလည်ခြင်းအားဖြင့်သင့်အား setteralpe () function ကိုပိုမိုလုံခြုံစွာနှင့်တိကျစွာသုံးရန်ကူညီနိုင်သည်။