လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စာရင်း () function and foreach () foreach ()) loop: မည်သည့်အရာသည် array ပျက်စီးခြင်းလုပ်ငန်းများအတွက်ပိုမိုသင့်တော်သနည်း။

စာရင်း () function and foreach () foreach ()) loop: မည်သည့်အရာသည် array ပျက်စီးခြင်းလုပ်ငန်းများအတွက်ပိုမိုသင့်တော်သနည်း။

gitbox 2025-09-04

PHP တွင်အလှည့်အပြောင်း (သို့မဟုတ်ဖြည့်တင်းခြင်းသို့မဟုတ်ဖြည့်တင်းခြင်း) ကို အလှည့်ကျ (သို့မဟုတ်) acteach (syntax [] ) ကို အသုံးပြု. array element များကို ablible များကို ablible (syntax [syntax [)) ကိုသတ်မှတ်ပါ။ နှစ်ခု၏အသုံးပြုမှုကိုပြောင်းရွှေ့ရန်, သို့သော်မူရင်းဒီဇိုင်းရည်ရွယ်ချက်, ဖတ်နိုင်မှု, စွမ်းဆောင်ရည်နှင့်သက်ဆိုင်သည့်အခြေအနေများကွဲပြားခြားနားသည်။ အောက်ပါတို့သည်အယူအဆများ, syntax, readabary အခြေအနေများ, စွမ်းဆောင်ရည်နှင့်အကောင်းဆုံးအလေ့အကျင့်များကိုနှိုင်းယှဉ်ခြင်းနှင့်လက်တွေ့ကျသောအကြံပြုချက်များနှင့်ကုဒ်များကိုဥပမာပေးသည်။ တရားဝင်ညွှန်ကြားချက်များနှင့်စာရင်း၏ဆင့်ကဲဖြစ်စဉ်အတွက် စာရင်း () / တိုတောင်းသော အက္ခရာများ အတွက် PHP လက်စွဲစာအုပ်ကိုဖတ်ရှုပါ။ PHP +1

1 ။ Concept Review: List () / [] / [] / [] နှင့်] foreach ()

  • စာရင်း (နှင့် တို တိုရေးခြင်း) သည်တစ်ချိန်တည်းတွင်လွတ်လပ်သော variable များကို "ဖြည်" ရန်အသုံးပြုသည်။ တစ်ချိန်တည်းတွင်လွတ်လပ်သော variable များကို "ဖြည်" ရန်အသုံးပြုသည်။ PHP 7.1 ကတည်းက Key Name-based deconstruction ကိုထောက်ပံ့သည် (i.e. [ID '=> $ ID] = $ ar arr.1PHP +1

  • foreach () သည်ခဲတံတားများသို့မဟုတ် ဖြတ်သန်းနိုင်သော အရာဝတ်ထုများကိုဖြတ်သန်းရန်အသုံးပြုသောဖြတ်သန်းမှုတည်ဆောက်ခြင်းဖြစ်သည်။ သငျသညျကွင်းဆက်ခန္ဓာကိုယ်ခေါင်းကို (ဥပမာ forach) ($ id '=> $ id)) ($ id)) ($ id)) (သို့) $ sep `အမည်)) သို့မဟုတ် SEFFENTINE SEFFENDE SEFFORE တွင် ) သို့မဟုတ် SEFFOOP အတွင်းရှိ LOOP အတွင်းရှိ List / Subscript) (သို့) SESS COSSCIP) သို့မဟုတ် SEFFOOP တွင် SEFFORE တွင်) သို့မဟုတ် SEFFORE တွင်) သို့မဟုတ် SEFSCESS တွင်အသုံးပြုသည်။ fonteach ၏ခွန်အားသည်မတရားအရှည်များနှင့်သော့ / တန်ဖိုးကိုရယူရန်ဖြစ်သည်။ ယခု Php

2 ။ Syntax နှိုင်းယှဉ်ခြင်းနှင့်ဘုံအသုံးပြုမှု

2.1 တစ်ကြိမ်သာ deconstruction (ဒြပ်စင်အနည်းငယ်ကို fixed)

 <span><span><span class="hljs-variable">$data</span></span><span> = [</span><span><span class="hljs-string">'Alice'</span></span><span>, </span><span><span class="hljs-string">'Bob'</span></span><span>, </span><span><span class="hljs-string">'Carol'</span></span><span>];
</span><span><span class="hljs-keyword">list</span></span><span>(</span><span><span class="hljs-variable">$a</span></span><span>, </span><span><span class="hljs-variable">$b</span></span><span>, </span><span><span class="hljs-variable">$c</span></span><span>) = </span><span><span class="hljs-variable">$data</span></span><span>;
</span><span><span class="hljs-comment">// သို့မဟုတ်တိုတို:</span></span><span>
[</span><span><span class="hljs-variable">$a</span></span><span>, </span><span><span class="hljs-variable">$b</span></span><span>, </span><span><span class="hljs-variable">$c</span></span><span>] = </span><span><span class="hljs-variable">$data</span></span><span>;
</span></span>

အတွက်သင့်တော်သည် - လူသိများသော Array ဖွဲ့စည်းပုံ, တာ 0 န်တစ်ခုသာလိုအပ်သည့်အခြေအနေ (function ကိုမှပြန်ပို့ခြင်းမှအမြန်ဖြည်ခြင်း) ။ တရားဝင်ဥပမာများနှင့်ညွှန်ကြားချက်များအရလက်စွဲစာအုပ်ကိုဖတ်ရှုပါ။ ယခု Php

2.2 သော့ချက်အမည်များအပေါ် အခြေခံ. ပြန်လည်တည်ဆောက်ခြင်း (7.1++)

 <span><span><span class="hljs-variable">$row</span></span><span> = [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">42</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Tom'</span></span><span>];
[</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-variable">$name</span></span><span>] = </span><span><span class="hljs-variable">$row</span></span><span>;
</span></span>

၎င်းသည်ကိန်းဂဏန်းများအညွှန်းကိန်းများအပေါ်မှီခိုမှုနှင့်ပြန်လည်စတင်ခြင်းနှင့်ကြံ့ခိုင်မှုကိုပိုမိုကောင်းမွန်စေသည်။ ယခု Php

2.3 Iterative Deconstruce (Forach + deconstruction)

 <span><span><span class="hljs-variable">$rows</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'A'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'B'</span></span><span>],
];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$rows</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-variable">$name</span></span><span>]) {
    </span><span><span class="hljs-comment">// ကိုင်တွယ်ဖြေရှင်းသည် $id, $name</span></span><span>
}
</span></span>

variable အရှည်အစုများကိုကိုင်တွယ်ရန်လိုအပ်သည့်အခါဤရေးသားခြင်းသည် "traversal" နှင့် "deconstruction" ကိုပေါင်းစပ်ထားသည်။ မှတ်စု: ကွဲပြားခြားနားသော PHP ဗားရှင်း / စတိုင်များတွင်လိုက်လျောညီထွေဖြစ်ခြင်းရေးသားခြင်းသည်အာရုံစိုက်ရန်လိုအပ်သည်။ PHP Dev Community

3 ။ ဖတ်ရလွယ်ကူခြင်းနှင့်ပြုပြင်ထိန်းသိမ်းမှု

  • စာရင်း () / [) / [) / []] သည် တစ်ကြိမ် နှင့် ဒြပ်စင်တပ်ဆင် သောအခါလက်ဝဲဘက်ရှိ variable ကိုတစ်ချက်ကြည့်ပါ။ ညာဘက်ရှိအရင်းအမြစ်သည်ရှင်းလင်းသည်။ function ပြန်လာတန်ဖိုးကိုဖြည်သို့မဟုတ်ယာယီ variable ကိုတာဝန်ကျဘို့သင့်လျော်သော။

  • extainti-element Multi-element စုံတွဲများနှင့်ဆက်ဆံရာတွင် fonteach : Semantically "element တစ်ခုချင်းစီအတွက်တစ်ခုခုလုပ်ပါ" ဟုဖော်ပြသည်။ foreach header ကို deconstruction လုပ်တဲ့အခါ, ယုတ္တိဗေဒဟာ "လိုင်းတိုင်းဟာစံချိန်တင်ဖြစ်ပြီးလယ်ကွင်းတွေကိုဖျက်သိမ်းဖို့လိုတယ်" ၎င်းသည်စာဖတ်နိုင်မှုကိုတိုးတက်စေသည်။ ယခု Php

4 ။ နယ်နိမိတ်အခြေအနေနှင့်လုံခြုံရေး

  • Index ပျောက်ဆုံးနေသော : ဂဏန်း အညွှန်းကိန်းသည် ခင်းကျင်းမှုတွင်နေရာပျောက်ဆုံးသောအခါသက်ဆိုင်ရာ variable ကို null (သို့မဟုတ်အမှားအဆင့်ပေါ် မူတည်. ) null (သို့မဟုတ်အသိပေးချက်ကိုဖြစ်ပေါ်စေသည်) ရာထူးမှီခိုမှုကိုရှောင်ရှားရန်သော့ချက်အမည်ဖျက်ဆီးခြင်းကိုအသုံးပြုပါ။ PHP +1

  • ကိုးကားချက် - PHP 7.3 မှစတင်ခြင်း, Deconstruction သည် Recronstruction Source Array Elements များကိုတိုက်ရိုက်ပြုပြင်ရန်သို့မဟုတ်ကူးယူခြင်းကိုရှောင်ရှားရန်လိုအပ်သည့်အခါ ( & ) ကိုထောက်ပံ့သည်။ ယခု Php

  • အမျိုးအစားနှင့်အတည်ပြုခြင်း - နည်းလမ်းဖြစ်စေ, deconstruction တွင်အမျိုးအစားစစ်ဆေးမှုများသို့မဟုတ်လိုအပ်သောကွင်းဆင်းစစ်ဆေးမှုများကိုအလိုအလျောက်လုပ်ဆောင်ခြင်းမရှိပါ။ လုံခြုံရေးဝေဖန်မှုသို့မဟုတ်ဒေတာအရင်းအမြစ်များကိုမယုံကြည်သောအခါသော့ကိုအတိအလင်းစစ်ဆေးပြီးတန်ဖိုးကိုစစ်ဆေးသင့်သည်။

5 ။ စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစား

  • တစ်ကြိမ်တွင် Fixed-element-element unpacking, list () / [) / [) / [) / [) / [) / [) / [) / [) / [) / [) / [ တစ်ကြိမ်သာတာ 0 န်ရှိသည်။

  • forach သည် ဖြစ်ရပ်များအတွက်အသွင်ကူးပြောင်းမှုတစ်ခုဖြစ်သောအချက်များအတွက်ဒြပ်စင်အမြောက်အများကို (ဥပမာထောင်ပေါင်းများစွာသောမှတ်တမ်းများပြုလုပ်ခြင်း) ဖြင့်ပြုလုပ်ထားသောကြောင့်ဖြစ်စဉ်များကိုပြုလုပ်သောအခြေအနေများအတွက်ပြုလုပ်နိုင်သည်။ ကွင်းဆက်တစ်ခုအတွင်း၌ deconstruction ကိုအသုံးပြုခြင်းသည်ကွင်းပြင်အပြင်ဘက်တွင်လက်ဖြင့်ကိုင်ထားခြင်းထက်လက်မခံနိုင်သည့်အတိုင်းမနှစ်သက်ဖွယ်မဟုတ်ပါ။ ယေဘုယျအားဖြင့်ပြောရလျှင်ဤစွမ်းဆောင်ရည်ကွာဟချက်သည်အသုံးချပရိုဂရမ်အများစုတွင်ပိတ်ဆို့ခြင်းမဟုတ်ပါ။ ရွေးချယ်မှုများသည်ရှင်းလင်းပြတ်သားမှုနှင့် semantics အပေါ်အခြေခံသင့်သည်။ တိကျသောအခြေအနေများအတွက်တင်းကြပ်သောအခြေခံကျရေးပြုလုပ်ရန်အတွက်တကယ့် application data အောက်တွင်စားသုံးမှုကိုတိုင်းတာရန်ရိုးရှင်းသော microtime (Trust Microtime) ကိုသုံးနိုင်သည်။ sandbox.ws php

6 ။ လက်တွေ့ကျသောအကြံဥာဏ် (မည်သည့်အချိန်တွင်မည်သည့်အချိန်တွင်အသုံးပြုရမည်)

  • စာရင်း () / [) / [] / [) :

    • function တစ်ခုသို့မဟုတ် array တစ်ခုမှပုံသေဖွဲ့စည်းထားသောဖွဲ့စည်းပုံကိုသင်ရရှိသည်

    • တာဝန်ကျတဲ့နေရာတစ်ခုတည်းသာရှိတယ်, element position / key name ကိုလူသိများပြီးတည်ငြိမ်တယ်။

    • Concrise Deststruction သတ်မှတ်ချက်များကိုရေးချင်သည် (ပိုမို deconstructing tuchles ကဲ့သို့) ။

  • foreach () (deconstruction ပေါင်းစည်းနိုင်) ကိုသုံးပါ

    • မည်သည့်မှတ်တမ်းမဆိုပရိုဂရမ်များကိုလုပ်ဆောင်ရန် Array သို့မဟုတ် taversable ကို ဖြတ်သန်းရန်လိုအပ်သည်။

    • စံချိန်တင်သောအဆင့်များ,

    • Readability (foreach) ideach (ID '=> $ id' => $ id => $ id)) ကိုမြှင့်တင်ရန်အတွက်ပစ္စည်းတစ်ခုစီကိုကွင်းဆက်ခေါင်းစီးထဲမှတိုက်ရိုက်ဖြိုဖျက်လိုသည်))))))) ) ။

7 ။ ဥပမာနှိုင်းယှဉ်ခြင်း - တူညီသောအလုပ်ကိုရေးရန်နည်းလမ်းနှစ်နည်း

တာဝန် - အသုံးပြုသူစာရင်း၏ ID နှင့် အမည်ကို ထုတ်ယူပြီး string ကိုထုတ်လုပ်ပါ။

foreach နှင့်အတူလိုင်းတစ်ခုချင်းစီကို deconstruct

 <span><span><span class="hljs-variable">$users</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Alice'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Bob'</span></span><span>],
];

</span><span><span class="hljs-variable">$result</span></span><span> = [];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$users</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-variable">$name</span></span><span>]) {
    </span><span><span class="hljs-variable">$result</span></span><span>[] = </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">'%d: %s'</span></span><span>, </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-variable">$name</span></span><span>);
}
</span></span>

array_map + (fonteach) ကို သုံး. deconstruct (fonteach မဟုတ်ဘဲတစ်ကြိမ်တွင်တစ်ကြိမ်သာပြုပြင်ခြင်း)

 <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$u</span></span><span>) {
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-variable">$name</span></span><span>] = </span><span><span class="hljs-variable">$u</span></span><span>;
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">'%d: %s'</span></span><span>, </span><span><span class="hljs-variable">$id</span></span><span>, </span><span><span class="hljs-variable">$name</span></span><span>);
}, </span><span><span class="hljs-variable">$users</span></span><span>);
</span></span>

နှစ် ဦး စလုံးသည်ဖတ်နိုင်သည်, ပထမတစ်ခုက ပို. အလိုလိုသိသည်။ ဒုတိယတစ်ခုမှာပိုမိုအလုပ်လုပ်သော အရာ ဖြစ်ပြီး,

8 ။ အကျဉ်းချုပ် (ဆုံးဖြတ်ချက်ချသည့်အဓိကအချက်များ)

  • deconstruction ( စာရင်း () / [) / [) / [] / [] / [] / [] / [] /] ) သည်ဖြည့ ်ဆည်းရန်နှင့်ရှင်းလင်းသော semantics, တရားဝင်လက်စွဲစာအုပ်နှင့်ရွှေ့ပြောင်းနေထိုင်မှုဆိုင်ရာညွှန်ကြားချက်များက PHP 7.1 တွင်ဖော်ပြထားသောနောက်အမည်ကို deconstruction နှင့်အရေးအသားအတို နှင့် စာအရေးအသားကိုရရှိနိုင်ပါသည်။ PHP 7.3 သည်ကိုးကားတာ 0 န်အဖြစ်လုပ်ဆောင်မှုများကိုထည့်သွင်းထားသည်။ PHP +1

  • foreach သည် ITERLATION အပြောင်းအလဲအတွက်သင့်လျော်သည်။ စုဆောင်းခြင်းကိုပြုပြင်ခြင်းသို့မဟုတ်ကွင်းဆက်စီးဆင်းမှုကိုထိန်းချုပ်သည့်အခါ fonteach သည် ပို. သင့်လျော်သည်။ Reconstruction သည် Reconstruction Reconstruction ကိုခေါင်းသို့မဟုတ်ခန္ဓာကိုယ်အတွင်းရှိစာဖတ်နိုင်မှုနှင့်ဒေသတွင်းတိုးတက်စေရန်ပေါင်းစပ်နိုင်သည်။ ယခု Php

နောက်ဆုံးအခြေခံမူ - ကုဒ်ကိုသင်၏လုပ်ဖော်ကိုင်ဖက်များနှင့်အဖြေများကိုနားလည်နိုင်သောအဖြေရှာခြင်းကို ဦး စားပေးလုပ်ဆောင်ပါ။ တစ်ကြိမ်တည်း, ဖွဲ့စည်းပုံသတ်မှတ်ထားသောအချက်အလက်များကိုလျင်မြန်စွာဖြည်ရန် [] (သို့မဟုတ် စာရင်း ()) ) ကိုသုံးပါ။ Variable-Length သို့မဟုတ် Process -sacted data များအတွက် fonteach ကိုသုံးပြီး ကွင်းဆက်တစ်ခုတွင် deconstruct လုပ်ပါ။