လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အဘယ်ကြောင့် PHP လက်ရှိ () () () အချည်းနှီးသောခင်းကျင်းမှုတွင် NULL ကိုပြန်ပို့ပါ။ နောက်ကွယ်မှအကြောင်းပြချက်များ၏ခွဲခြမ်းစိတ်ဖြာ

အဘယ်ကြောင့် PHP လက်ရှိ () () () အချည်းနှီးသောခင်းကျင်းမှုတွင် NULL ကိုပြန်ပို့ပါ။ နောက်ကွယ်မှအကြောင်းပြချက်များ၏ခွဲခြမ်းစိတ်ဖြာ

gitbox 2025-08-26

1 ။ လက်ရှိ () အလုပ်လုပ်သည်

လက်ရှိ () သည် array တစ်ခု၏ပထမဆုံး element ကိုရိုးရိုးရှင်းရှင်းရိုးရိုးရှင်းရှင်းရိုးရိုးရှင်းရှင်းသည်။
PHP Array တစ်ခုစီသည်အောက်ခြေရှိအမှတ်အသားကိုထိန်းသိမ်းထားပြီး "လက်ရှိ element" ကိုညွှန်ပြသည်။ လက်ရှိ () ၏ရည်ရွယ်ချက်မှာ pointer မှထောက်ပြတန်ဖိုးကိုပြန်ပို့ရန်ဖြစ်သည်။

  • တရားဝင်ဒြပ်စင်တစ်ခုသို့ညွှန်ပြသည့်အချက်များ, လက်ရှိ () သည် ထို element ၏တန်ဖိုးကိုပြန်ပို့သည်။

  • အကယ်. Array သည်အချည်းနှီးဖြစ်လျှင်သို့မဟုတ်ညွှန်းသည်ခင်းကျင်းမှု၏အကွာအဝေးထက်ကျော်လွန်ပါကအခြေအနေပေါ် မူတည်. မှားယွင်းသော သို့မဟုတ် NULL ပြန်လာသည်။

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


2 ။ အဘယ်ကြောင့် မှား ပေမယ့် NULL ?

လူအများအပြားတွင်ဤမေးခွန်းရှိသည် - ခင်းကျင်းမှုတွင်တန်ဖိုးမရှိပါ, ထို့ကြောင့် "ပျက်ကွက်ခြင်း" ကိုညွှန်ပြရန် မှားယွင်းသော နောက်သို့ပြန်ပို့ပါ။
အကြောင်းပြချက်မှာ PHP ဒီဇိုင်နာများသည် "function execution မအောင်မြင်" နှင့် "array တွင် element များအမှန်ပင်မအောင်မြင်ပါ" ဟုဆိုသည်။

  • များသောအားဖြင့် မှားယွင်းသော အားဖြင့် "အမှား" သို့မဟုတ် "ပျက်ကွက်" ကိုဆိုလိုသည်။

  • null ပိုပြီးသင့်လျော်စွာ "ဒီမှာတန်ဖိုးမရှိ" ဖော်ပြ

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


3 ။ ပြန်လည်စတင်နှင့်အတူဆက်ဆံရေး () နှင့် နောက်ဆက်တွဲနှင့်အတူဆက်ဆံရေး ()

ပိုမိုကောင်းမွန်သောနားလည်မှုအတွက် Array pointer နှင့်သက်ဆိုင်သောလုပ်ဆောင်ချက်များစွာကိုနှိုင်းယှဉ်နိုင်သည်။

 <span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>];

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">current</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>); </span><span><span class="hljs-comment">// 100</span></span><span>
</span><span><span class="hljs-title function_ invoke__">next</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">current</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>); </span><span><span class="hljs-comment">// 200</span></span><span>
</span><span><span class="hljs-title function_ invoke__">next</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">current</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>)); </span><span><span class="hljs-comment">// bool(false),ဘာဖြစ်လို့လဲဆိုတော့ Pointer ကနယ်နိမိတ်ကိုဖြတ်ကူးလို့ပဲ</span></span><span>
</span></span>

ဒီနေရာမှာ Array pointer ကန့်သတ်ချက်တွေထဲကနေထွက်လာတဲ့အချိန်မှာ လက်ရှိ () မှားယွင်းတဲ့ ပြန်လာတယ်။
အချည်းနှီးသောခင်းကျင်းမှုတွင်အဘယ်သူမျှမ pointer မရှိပါ။ ဒါကြောင့် NULL ကို တိုက်ရိုက်ပြန်ပို့သည်။ ဤအခြေအနေနှစ်ခုသည် semantics တွင်အမှန်တကယ်ကွဲပြားခြားနားသည်။

  • အချည်းနှီးသောခင်းကျင်း: အဘယ်သူမျှမ pointable ဒြပ်စင်→ null

  • Non-slamer array ပေမယ့်အကန့်အသတ်ထဲက: pointer ပျက်ကွက်→ false


4 ။ ၎င်းကို အသုံးပြု. အာရုံစိုက်ပါ

developer များ က လက်ရှိအချိန်တွင် () ကို အသုံးပြုသော အခါ, အကယ်. သင်သည် (ဒေါ်လာ ($ ar arr)) ကို တရားသူကြီးသို့တိုက်ရိုက်အသုံးပြုပါကမရေမတွက်နိုင်သောအရာနှင့် မှားယွင်းသောအယူမှား သည် boolean နှင့်မှားယွင်းသောတန်ဖိုးများကိုမှားယွင်းသောတန်ဖိုးများအဖြစ်သတ်မှတ်ထားသည့်အတွက် မရေ မတွက်နိုင်သောကြောင့်မရေမတွက်နိုင်သောကြောင့်မရေမတွက်နိုင်သောကြောင့်မရေရာမှုဖြစ်နိုင်သည်။

ပိုမိုလုံခြုံသောချဉ်းကပ်မှုသည်တရားစီရင်ခြင်းကိုကူညီရန် သော့ () ကို အသုံးပြုရန်ဖြစ်သည်။

 <span><span><span class="hljs-variable">$arr</span></span><span> = [];

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">key</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>) !== </span><span><span class="hljs-literal">null</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">current</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါခင်းကျင်းဗလာချပ်သို့မဟုတ် pointer မမှန်ကန်ပါ"</span></span><span>;
}
</span></span>

၎င်းသည်ကွဲပြားခြားနားသောအခြေအနေများကိုပိုမိုတိကျစွာခွဲခြားရန်ခွင့်ပြုသည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    NULL