လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> End () သည်ရည်ညွှန်းချက်များနှင့်အတူအသုံးပြုသောအခါဘေးထွက်ဆိုးကျိုးများဖြစ်ပေါ်စေနိုင်သည်

End () သည်ရည်ညွှန်းချက်များနှင့်အတူအသုံးပြုသောအခါဘေးထွက်ဆိုးကျိုးများဖြစ်ပေါ်စေနိုင်သည်

M66 2025-05-17

PHP တွင် အဆုံး () function သည်အများအားဖြင့်အသုံးပြုသောအသုံးပြုသော array function တစ်ခုဖြစ်သည်။ ဤစစ်ဆင်ရေးသည်အရေးပါသောအရာအများစုကိုကိုင်တွယ်ရန်အလွန်အသုံးဝင်သည်။ သို့သော်သင်သည် အဆုံး () function ကိုအသုံးပြုသောအခါရည်ညွှန်းခင်းကျင်းမှုကိုကိုင်တွယ်ရန်မမျှော်လင့်သောဘေးထွက်ဆိုးကျိုးများဖြစ်ပေါ်နိုင်သည်။ ဤဆောင်းပါးသည်အဘယ်ကြောင့်ဤသို့ဖြစ်ပျက်နေကြောင်းနှင့်သက်ဆိုင်သောဥပမာအချို့ကိုပေးရန်ရှင်းပြပါလိမ့်မည်။

အဆုံး () function ကို၏အခြေခံအသုံးပြုမှု

PHP တွင် အဆုံး ၏ syntax သည်အလွန်ရိုးရှင်းပါသည်။

 mixed end ( array &$array )

$ array သည်သင်ဘယ်လိုလုပ်ကိုင်လိုသောခင်းကျင်းမှုဖြစ်သည်။ end () သည် ခင်းကျင်းမှု၏အတွင်းပိုင်းညွှန်ကြားချက်ကိုခင်းကျင်း၏နောက်ဆုံးအချက်ကိုရွှေ့ပြီးထိုဒြပ်စင်၏တန်ဖိုးကိုပြန်ပေးလိမ့်မည်။ မှတ်သား သင့်သည် () သည် array ၏အတွင်းပိုင်း pointer အနေအထားကိုပြောင်းလဲလိမ့်မည်, ဆိုလိုသည်မှာ နောက်တစ်ကြိမ် , Prev () နှင့်အခြားလုပ်ဆောင်မှုများကို နောက်တစ်ကြိမ် အသုံးပြုသောနောက်တွင်၎င်းသည်အတွင်းပိုင်း pointer အနေအထားပေါ် အခြေခံ. ဖြစ်သည်။

Relatry Arrays နှင့်ဘေးထွက်ဆိုးကျိုးများ

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

အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ။

 $array = [1, 2, 3, 4];
$refArray = &$array;  // ရည်ညွှန်း။ အသုံးပြုပြီးခင်းကျင်း

$lastElement = end($refArray);  // Pointer ကိုနောက်ဆုံးဒြပ်စင်သို့ရွှေ့ပါ

echo $lastElement;  // ထုတ်လုပ်ခြင်း 4
echo $array[0];  // ထုတ်လုပ်ခြင်း 4

ဒီဥပမာမှာ $ refarray $ array ကိုရည်ညွှန်းသည်။ ထို့ကြောင့် အဆုံး () function သည် $ refarray ကို အကျိုးသက်ရောက်စေရုံသာမကမူလ ဒေါ်လာ array လည်းဖြစ်သည်။ အဆုံးကတည်းက () array ၏အတွင်းပိုင်းအမှတ်အသားကိုပြောင်းလဲခြင်း, ဤသည် $ array ၏ပထမ ဦး ဆုံး element ကို array ၏နောက်ဆုံး element ကိုဖြစ်စေသော, i.e. 4 ။ ဤသည်ဘေးထွက်ဆိုးကျိုးများ၏ထင်ရှားပြ၏။

အဘယ်ကြောင့်ဘေးထွက်ဆိုးကျိုးများရှိသနည်း

ဤဘေးထွက်ဆိုးကျိုးများ၏အဓိကအကြောင်းရင်းမှာ PHP Arrays ၏ပြည်တွင်းရေးလုပ်ငန်းယန္တရားဖြစ်သည်။ သင်ကိုးကားစရာခင်းကျင်းမှုကိုအသုံးပြုသောအခါ PHP သည်မိတ္တူအသစ်တစ်ခုကိုမဖန်တီးနိုင်သော်လည်းမူလခင်းကျင်းမှုတွင်တိုက်ရိုက်လည်ပတ်သည်။ ဆိုလိုသည်မှာ array ၏ pointer အခြေအနေ (I.E. , "လက်ရှိ pointer အနေအထား) ကိုမျှဝေသည်။ အကယ်. သင်သည် အဆုံးကို ခေါ်ဆိုပါက Reference Array တွင် Array ၏ Pointer သည်မူလခင်းကျင်းအနေအထားကိုထိခိုက်စေမည့်နောက်ဆုံးဒြပ်စင်သို့ပြောင်းသွားလိမ့်မည်။

ထို့ကြောင့်သင်၏ကုဒ်သည်လက်ရှိခင်းကျင်း pointer ၏လက်ရှိအနေအထားကိုမူတည်ပါက (သို့မဟုတ်ကွင်းဆက်ဖြတ်သန်းခြင်းစသဖြင့်) အပြည့်အစုံကိုမူတည်သည်

ဘေးထွက်ဆိုးကျိုးများကိုမည်သို့ရှောင်ရှားနိုင်မည်နည်း။

ဤဘေးထွက်ဆိုးကျိုးများကိုရှောင်ရှားရန်မူရင်းခင်းကျင်း၏ pointer အနေအထားကိုပြောင်းလဲခြင်းမရှိဘဲ အဆုံး () function ကိုသုံးနိုင်သည်။ ဤပြ problem နာကိုရှောင်ရှားရန်နည်းလမ်းများစွာရှိသည် -

  1. ခင်းကျင်းမိတ္တူကိုသုံးပါ။

    Array မိတ္တူတစ်ခုဖန်တီးပေးခြင်းဖြင့်မူရင်းခင်းကျင်းမှုကိုတိုက်ရိုက်မပြုပြင်ပါနှင့်။ ဥပမာအားဖြင့်:

     $array = [1, 2, 3, 4];
    $arrayCopy = $array;  // ခင်းကျင်းမိတ္တူတစ်ခုဖန်တီးပါ
    $lastElement = end($arrayCopy);  // မူရင်းခင်းကျင်းမှုကိုမထိခိုက်ပါ
    
    echo $lastElement;  // ထုတ်လုပ်ခြင်း 4
    echo $array[0];  // ထုတ်လုပ်ခြင်း 1(မူရင်းခင်းကျင်းပြောင်းလဲခြင်းမရှိသေးပါ)
    
  2. array pointer ကိုကိုယ်တိုင်ပြန်လည်စတင်ပါ။

    အကယ်. သင်ကခင်းကျင်းမှု၏ pointer အနေအထားကိုပြောင်းလဲရန်လိုအပ်ပါကပြန်လည်နေရာချထားခြင်းကိုပြန်လည်နေရာချထားရေးကိုလျှော့ချနိုင်သည့် Pointer ၏အစကိုပြန်လည်နေရာချထားခြင်းအတွက်ပြန်လည်နေရာချထားရန် reset () function ကိုသုံးပါ။ ဥပမာအားဖြင့်:

     $array = [1, 2, 3, 4];
    end($array);  // အဆုံးတိုင်အောင် pointer ကိုရွှေ့
    reset($array);  // နောက်ကျောကိုအစမှ pointer ကို reset
    
    echo current($array);  // ထုတ်လုပ်ခြင်း 1
    
  3. ရည်ညွှန်း arrays ကိုအသုံးပြုခြင်းကိုရှောင်ပါ။

    Array မိတ္တူကိုတိုက်ရိုက်ဖြတ်သန်းခြင်းသည်ခင်းကျင်းမှုကိုရည်ညွှန်းခြင်းထက် pointer မျှဝေခြင်းပြ problem နာကိုရှောင်ရှားနိုင်သည်။ ဥပမာအားဖြင့်:

     $array = [1, 2, 3, 4];
    $lastElement = end($array);  // မိတ္တူကိုတိုက်ရိုက်ဖြတ်သန်းပါ,အဘယ်သူမျှမကိုးကားအသုံးပြုကြသည်
    
    echo $lastElement;  // ထုတ်လုပ်ခြင်း 4
    echo $array[0];  // ထုတ်လုပ်ခြင်း 1(မူရင်းခင်းကျင်းပြောင်းလဲခြင်းမရှိသေးပါ)
    

နိဂုံးချုပ်အားဖြင့်

အဆုံး () function သည် PHP တွင်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ အဆုံးကတည်းက () inarray ၏အတွင်းပိုင်း pointer အနေအထားကိုပြောင်းလဲစေ, ၎င်းသည်မူရင်းခင်းကျင်းမှု၏နောက်ဆက်တွဲစစ်ဆင်ရေးကိုအကျိုးသက်ရောက်နိုင်သည်။ ထို့ကြောင့်, အဆုံးကို အသုံးပြုသောအခါ, အထူးသဖြင့်ရည်ညွှန်းရာခင်း arrays ကိုအသုံးပြုသောအခါသင်သတိထားရန်လိုအပ်သည်။ Array မိတ္တူတစ်စောင်ကိုဖန်တီးခြင်းအားဖြင့် array pointer ကိုပြန်လည်သတ်မှတ်ခြင်းအားဖြင့်သို့မဟုတ်ရည်ညွှန်းထားသောဝါကျများအသုံးပြုခြင်းကိုရှောင်ရှားခြင်းအားဖြင့်ဤဘေးထွက်ဆိုးကျိုးများကို Code ၏မှန်ကန်မှုနှင့်ကြိုတင်ခန့်မှန်းနိုင်မှုကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

ကိုးကားခြင်း