လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Error ReRange Solution: တရားမ 0 င်နံပါတ်များကို attribute name အဖြစ်သတ်မှတ်ခြင်း

PHP Error ReRange Solution: တရားမ 0 င်နံပါတ်များကို attribute name အဖြစ်သတ်မှတ်ခြင်း

gitbox 2025-06-18

1 ။ နိဒါန်း

PHP Development တွင် developer များမကြာခဏဆိုသလိုအမှားအယွင်းများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိပြီး, ဤအမှားသည်အစီအစဉ်၏ပုံမှန်လည်ပတ်မှုကိုအကျိုးသက်ရောက်စေရုံသာမက developer များအတွက် debugging အခက်အခဲကိုလည်းပါ 0 င်သည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏အကြောင်းရင်းများကိုအသေးစိတ်ဖော်ပြရန်နှင့် developer များဤပြ problem နာကိုချောချောမွေ့မွေ့ဖြေရှင်းနိုင်ရန်အတွက်ဖြေရှင်းနည်းများစွာပေးလိမ့်မည်။

2 ။ attribute အမည်သည်တရားမ 0 င်သောနံပါတ်ကဘာလဲ။

PHP တွင်, ခင်းကျင်းခြင်း၏ subscript သည်များသောအားဖြင့်နံပါတ်တစ်ခုသို့မဟုတ် string တစ်ခုဖြစ်နိုင်သည်။ ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်နံပါတ်များကိုအသုံးပြုရန်အတွက်ဘုံအလေ့အကျင့်များကိုပြသသည်။

 
$name = array('Tom', 'Jerry', 'Lucy');
echo $name[1];

အထက်ဖော်ပြပါကုဒ်များတွင် $ အမည်ဆိုသည်မှာဒြပ်စင်သုံးခုပါ 0 င်သည့် array တစ်ခုဖြစ်ပြီး $ name [1] သည်ဒုတိယ elery ကိုသုံးလိမ့်မည်။ ဘာဖြစ်လို့လဲဆိုတော့ PHP Arrays တွေရဲ့ subscripts 0 န်းကျင်က 0 0 မှာစတင်နေပြီ, ဒီအရေးအသားနည်းလမ်းကအရမ်းကိုတွေ့ရတယ်။

သို့သော်ကျွန်ုပ်တို့သည်အောက်ပါကုဒ်ကိုကြိုးစားကြည့်ပါကပြ problems နာများသို့ဝင်ရောက်မည်။

 
$student['1'] = 'Tom';
echo $student[1];

ဒီကုဒ်မှာ Tom's attribute ကိုဒေါ်လာကျောင်းသား Array ရဲ့ attribute name ကို '1' ​​လို့သတ်မှတ်ပါတယ်။ သို့သော် 0 င်ရောက်နိုင်သည့်အတွက်ဒေါ်လာကျောင်းသား (1) ကိုအသုံးပြုခြင်းသည်အမှားတစ်ခုဖြစ်ပြီးအမှားအယွင်းများသည်ပုံမှန်အားဖြင့် "undefined index: 1" ဖြစ်သည်။ ဘာဖြစ်လို့လဲဆိုတော့ PHP မှာနံပါတ် 1 ဟာ string 1 'ကို' 1 'အဖြစ်ပြောင်းလဲပြီးပုံမှန်အားဖြင့်လက်လှမ်းမီမှုမခံနိုင်ခြင်းမရှိသေးပါ။

3 ။ ဖြေရှင်းနည်း

ဤအမှားကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်နံပါတ်များကိုကြိုးများသို့ပြောင်းလဲရန်လိုအပ်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန်နည်းလမ်းအနည်းငယ်သာဤနေရာတွင်ဖော်ပြထားသည်။

နည်းလမ်း 1: အမျိုးအစားပြောင်းလဲခြင်းကိုသုံးပါ

နံပါတ်များကို string types များသို့ပြောင်းလဲရန် PHP ၏အမျိုးအစားပြောင်းလဲခြင်းလုပ်ဆောင်ချက်ကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ဤတွင်နမူနာကုဒ်ဖြစ်သည်။

 
$student[(string)1] = 'Tom';
echo $student[1];

နံပါတ် 1 ကို string တစ်ခုသို့ 1 သို့ပြောင်းရန် "(string)" ကို အသုံးပြု. ၎င်းကိုခင်းကျင်းမှု၏အဓိကတန်ဖိုးအဖြစ်အသုံးပြုသည်။ ဤနည်းအားဖြင့်ကျောင်းသားတစ် ဦး ကိုသုံးသောအခါ [1] ကိုကြည့်သောအခါအမှားများမရှိပါ။

နည်းလမ်း 2. နံပါတ်များကိုပူးတွဲရန်ကိုးကားချက်များကိုသုံးပါ

နောက်နည်းတစ်နည်းမှာနံပါတ်တစ်ကြောင်းကို string တစ်ခုပြုလုပ်ရန်နံပါတ်ကိုတိုက်ရိုက်ထားရန်ဖြစ်သည်။ အောက်တွင်ပြထားတဲ့အတိုင်း:

 
$student['1'] = 'Tom';
echo $student['1'];

ဤကုဒ်တွင်နံပါတ် 1 ကိုတစ် ဦး တည်းသောကိုးကားချက်များဖြင့်ထုပ်ပိုးပြီး PHP သည် string တစ်ခုအဖြစ်အလိုအလျောက်ဆက်ဆံလိမ့်မည်။ ဤနည်းအားဖြင့်ကျောင်းသားတစ် ဦး ကို သုံး. အမှားတစ်ခုကိုသင်မပြောပါ။

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

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်တရားမ 0 င်နံပါတ်များကိုအသုံးပြုခြင်းသည် attribute အမည်များအဖြစ်အသုံးပြုသောအမှားများဖြစ်သည်။ ဤအရာကိုရှောင်ရှားရန် developer များသည်ကိုးကားထားသောအမျိုးအစားပြောင်းလဲခြင်းသို့မဟုတ်သီးခြားနံပါတ်များအားဖြင့်ပြ the နာကိုဖြေရှင်းနိုင်သည်။ ဤကျွမ်းကျင်မှုများကိုကျွမ်းကျင်ခြင်းသည် developer များကသူတို့၏ကုဒ်တည်ငြိမ်မှုကိုတိုးတက်စေရန်နှင့်အမှားအယွင်းများဖြစ်ပေါ်မှုများကိုလျှော့ချရန်ကူညီနိုင်သည်။