လက်ရှိ () သည် array တစ်ခု၏ပထမဆုံး element ကိုရိုးရိုးရှင်းရှင်းရိုးရိုးရှင်းရှင်းရိုးရိုးရှင်းရှင်းသည်။
PHP Array တစ်ခုစီသည်အောက်ခြေရှိအမှတ်အသားကိုထိန်းသိမ်းထားပြီး "လက်ရှိ element" ကိုညွှန်ပြသည်။ လက်ရှိ () ၏ရည်ရွယ်ချက်မှာ pointer မှထောက်ပြတန်ဖိုးကိုပြန်ပို့ရန်ဖြစ်သည်။
တရားဝင်ဒြပ်စင်တစ်ခုသို့ညွှန်ပြသည့်အချက်များ, လက်ရှိ () သည် ထို element ၏တန်ဖိုးကိုပြန်ပို့သည်။
အကယ်. Array သည်အချည်းနှီးဖြစ်လျှင်သို့မဟုတ်ညွှန်းသည်ခင်းကျင်းမှု၏အကွာအဝေးထက်ကျော်လွန်ပါကအခြေအနေပေါ် မူတည်. မှားယွင်းသော သို့မဟုတ် NULL ပြန်လာသည်။
အချည်းနှီးသောခင်းကျင်းမှုတစ်ခုတွင် Pointer အတွက်လုံးဝညွှန်ပြရန်ဒြပ်စင်မရှိပါ။ ထို့ကြောင့်ပြန်လာတန်ဖိုးသည် သဘာဝအတိုင်း ဖြစ်သည်။
လူအများအပြားတွင်ဤမေးခွန်းရှိသည် - ခင်းကျင်းမှုတွင်တန်ဖိုးမရှိပါ, ထို့ကြောင့် "ပျက်ကွက်ခြင်း" ကိုညွှန်ပြရန် မှားယွင်းသော နောက်သို့ပြန်ပို့ပါ။
အကြောင်းပြချက်မှာ PHP ဒီဇိုင်နာများသည် "function execution မအောင်မြင်" နှင့် "array တွင် element များအမှန်ပင်မအောင်မြင်ပါ" ဟုဆိုသည်။
များသောအားဖြင့် မှားယွင်းသော အားဖြင့် "အမှား" သို့မဟုတ် "ပျက်ကွက်" ကိုဆိုလိုသည်။
null ပိုပြီးသင့်လျော်စွာ "ဒီမှာတန်ဖိုးမရှိ" ဖော်ပြ
ထို့ကြောင့် လက်ရှိ () ကို အချည်းနှီးသောခင်းကျင်းမှုတွင်ခေါ်ဆိုခြင်းနှင့် တရား 0 င် ပြန်လာခြင်းသည်ပိုမိုသင့်တင့်သောရွေးချယ်မှုဖြစ်သည်။
ပိုမိုကောင်းမွန်သောနားလည်မှုအတွက် 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
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