လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP အမှား - variable non-variable ကိုကိုးကားစရာဖြေရှင်းချက်ကိုမသတ်မှတ်နိုင်ပါ

PHP အမှား - variable non-variable ကိုကိုးကားစရာဖြေရှင်းချက်ကိုမသတ်မှတ်နိုင်ပါ

gitbox 2025-06-16

1 ။ PHP ၏အမှားအယွင်းကိုစတင်ရန်မစွမ်းဆောင်နိုင်မှုမရှိသေးသောကိုးကားချက်များအားပြန်လည်နေရာချထားခြင်းမပြုနိုင်ပါ

PHP တွင် variable non-variable ကိုကိုးကားရန်ကြိုးစားသောအခါ "$ foo ကို re-assign မသတ်မှတ်နိုင်ပါ။ ဤအချက်ကသင်ဟာ variable non-variable အမျိုးအစားအကြောင်းအရာများကိုရည်ညွှန်းပြီး PHP ကိုအမှားတစ်ခုသတင်းပို့ခြင်းနှင့်ပရိုဂရမ်ကွပ်မျက်မှုကိုရပ်ဆိုင်းရန်ပြုလုပ်ရန်ကြိုးစားသည်။ ဤဆောင်းပါးသည်ဤပြ problem နာကိုနားလည်ပြီးဖြေရှင်းရန်နှင့်သင်ကိုးကားချက်ကိုမှန်ကန်စွာအသုံးပြုနိုင်သည်။

2 ။ အခြေခံကိုးကား

 
  $a = 10;
  $b = &$a;
  $b = 5; // $a is now 5

အထက်ပါကုဒ်တွင် $ a သည် 10 တန်ဖိုးကိုသတ်မှတ်ထားသည်။ $ B ကိုရည်ညွှန်းရန် $ B ကိုသတ်မှတ်ထားသည်။ ဤနည်းအားဖြင့် $ B ကိုပြုပြင်သောအခါ $ a ၏တန်ဖိုးသည်လည်းပြောင်းလဲလိမ့်မည်။

3.1 Non-variable များမရှိသောရည်ညွှန်းချက်အမှားများအတွက်အကြောင်းပြချက်များအတွက်အကြောင်းပြချက်များ

PHP တွင်ကိုးကားချက်များကိုအသုံးပြုသောအခါစဉ်ဆက်မပြတ်သို့မဟုတ်အခြားမပြောင်းလဲနိုင်သောဒေတာအမျိုးအစားကိုရည်ညွှန်းရန်သင်ကြိုးစားပါက "variable non-variable non-variable non incrimign in repsign" အမှားကိုကြုံတွေ့ရလိမ့်မည်။ အောက်ပါကုဒ်သည်ဤအရာကိုပြလိမ့်မည်။

 
  $a = 10;
  $b = 20;
  $c = &$a;
  $c = $b; // Error: Cannot reassign reference
  $d = &$c;
  $d = 30;
  echo $a; // Outputs: 30
  echo $b; // Outputs: 20

ဤကုဒ်သည်ရည်ညွှန်းထားသော variable ကိုရည်ညွှန်းထားသော variable ($ ဂ) ကိုရည်ညွှန်းထားသော variable ကို (ဒေါ်လာခ) သတ်မှတ်ရန်ကြိုးစားသောအခါ PHP သည်အမှားတစ်ခုပြုလုပ်သည်။ ဒီပြ problem နာကအစီအစဉ်ကိုကွပ်မျက်ခြင်းကိုရပ်တန့်စေလိမ့်မယ်။

3.2 ဖြေရှင်းချက်

ဒီအမှားကိုဖြေရှင်းဖို့ဆိုတာပထမ ဦး ဆုံးမရည်ညွှန်းမီ variable ကိုကြေငြာပါ။ အကယ်. undeclared variable ကိုရည်ညွှန်းသည်ဆိုပါက PHP သည်ဆိုးဝါးသောအမှားကိုပြန်ပေးလိမ့်မည်။ ထို့အပြင် "&" သင်္ကေတသည်၎င်း၏ mutability ကိုသေချာစေရန်ရည်ညွှန်း variable ကိုကိုယ်စားပြုရန်အသုံးပြုသည်။ ဤတွင်ပြုပြင်ထားသောကုဒ်ဥပမာတစ်ခုဖြစ်သည်။

 
  $a = 10;
  $b = 20;
  $c = &$a;
  $c = $b;
  $d = &$c;
  $d = 30;
  echo $a; // Outputs: 30
  echo $b; // Outputs: 20

ဤပြုပြင်ထားသောကုဒ်တွင်ကိုးကားချက်များကိုမှန်ကန်စွာအသုံးပြုသည်နှင့် variable တွေကိုအသုံးပြုမှုမတိုင်မီ variable တွေကိုကြေငြာထားပြီးအမှားအယွင်းများကိုရှောင်ရှားကြသည်။

4 ။ နိဂုံးချုပ်

PHP ရှိရည်ညွှန်းချက်သည်နေရာများစွာတွင်တူညီသော variable ၏တန်ဖိုးကိုတိုက်ရိုက်ပြုပြင်ရန်ခွင့်ပြုသည်။ သို့သော်ကိုးကားချက်များကိုအသုံးပြုသောအခါ variable ကိုမှန်ကန်စွာသတ်မှတ်ထားရန်သေချာစေရန်နှင့်ရည်ညွှန်းတာ 0 န် 0 တ္တရားကို PHP ၏ Syntax စည်းမျဉ်းများကိုလိုက်နာသည်။ ဤဆောင်းပါး၏နိဒါန်းမှတစ်ဆင့်သင်သည် "မပြောင်းလဲနိုင်သော Non-Non Non Non Nones Non Non Nonsign Non Nonsign" အမှားအယွင်းကိုသင်ထိရောက်စွာရှောင်ရှားနိုင်ကြောင်းယုံကြည်သည်။