Array_reduce သည် PHP တွင်ထည့်သွင်းထားသော array processing function တစ်ခုဖြစ်ပြီး၎င်းကို array တစ်ခုစီတွင် callback function သို့ကူးယူရန်အသုံးပြုသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">array_reduce</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$callback</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$initial</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span>): </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>$ array : လုပ်ငန်းများ၌ခံရဖို့ခင်းကျင်း။
$ callback : array တစ်ခုချင်းစီကို element တစ်ခုချင်းစီကို processing အတွက် callback function ကိုတာဝန်ရှိသည်။
$ ကန ဦး : optional ကိုကန ဦး တန်ဖိုး, null ရန် default ။
callback function ကို parameters တွေကိုရလိမ့်မယ်:
စုဆောင်းတန်ဖိုး (နောက်ဆုံးပြန်လာတန်ဖိုးသို့မဟုတ်ကန ဦး တန်ဖိုး) ။
လက်ရှိပြုလုပ်ထားသော array ဒြပ်စင်။
ကျွန်ုပ်တို့တွင်ခင်းကျင်းမှုတစ်ခုရှိပြီး array_reduce မှတဆင့်အများဆုံးတန်ဖိုးကိုရှာဖွေလိုသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည် callback function ကိုဒီဇိုင်းဆွဲနိုင်သည်။
အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// မူရင်းခင်းကျင်း</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>];
</span><span><span class="hljs-comment">// အသုံးပြု array_reduce အများဆုံးတန်ဖိုးကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$max_value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_reduce</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, function(</span><span><span class="hljs-variable">$carry</span></span><span>, </span><span><span class="hljs-variable">$item</span></span><span>) {
</span><span><span class="hljs-comment">// လှျင် carry ဗလာဖြစ်သော,ထို့နောက်အဖြစ်လက်ရှိဒြပ်စင်ယူပါ carry ၏ကန ဦး တန်ဖိုး</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$carry</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$item</span></span><span>;
}
</span><span><span class="hljs-comment">// ပြန်လာ carry နှင့် item အတွက်အများဆုံးတန်ဖိုးကို</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$carry</span></span><span> > </span><span><span class="hljs-variable">$item</span></span><span> ? </span><span><span class="hljs-variable">$carry</span></span><span> : </span><span><span class="hljs-variable">$item</span></span><span>;
});
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"数组အတွက်အများဆုံးတန်ဖိုးကို是: "</span></span><span> . </span><span><span class="hljs-variable">$max_value</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်ကိန်းဂဏန်းများပါ 0 င်သည့် ဒေါ်လာ array တစ်ခုကိုသတ်မှတ်သည်။
array_reduce function ကိုအသုံးပြုပြီးခင်းကျင်းမှုကိုကျော်လွှားနိုင်လိမ့်မည်။ Callback function ကိုအတွင်း၌ကျွန်ုပ်တို့သည်လက်ရှိ သယ်ဆောင်ခြင်း နှင့် ပစ္စည်းများကို နှိုင်းယှဉ်ခြင်းအားဖြင့်၎င်းသည်အများဆုံးတန်ဖိုးကိုရွေးချယ်သည်။ သယ်ယူပို့ဆောင်ရေးသည် နောက်ဆုံးနှိုင်းယှဉ်မှု၏ရလဒ်ကိုသိမ်းဆည်းထားပြီး ပစ္စည်းသည် လက်ရှိပြုလုပ်ထားသော element ဖြစ်သည်။
သယ်ဆောင်သည့် အခါ (i.e. ပထမ ဦး ဆုံး ကြားခံ) ဖြစ်လျှင်ကျွန်ုပ်တို့သည်လက်ရှိ ပစ္စည်းကို သယ်ဆောင်ခြင်း ၏ကန ဦး တန်ဖိုးကိုတိုက်ရိုက်အသုံးပြုသည်။
နောက်ဆုံးတွင် Array_reduce သည် array တစ်ခုလုံးတွင်အကြီးဆုံးဒြပ်စင်ကိုပြန်လည်ရရှိခဲ့သည်။
PHP တွင်ကျွန်ုပ်တို့သည် array ထဲတွင်အများဆုံးတန်ဖိုးကိုဖြေရှင်းရန် Max () function ကိုသုံးနိုင်သည်။
<span><span><span class="hljs-variable">$max_value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>သို့သော် array_reduce စုဆောင်းခြင်းလုပ်ငန်းများအတွက်စုဆောင်းခြင်းလုပ်ငန်းများအတွက်အောက်ပါအားသာချက်များရှိသည်။
ပြောင်းလွယ်ပြင်လွယ် - array_reduce သည် စုဆောင်းခြင်းလုပ်ငန်းစဉ်ကိုစိတ်ကြိုက်ပြုပြင်ရန်နှင့်ပိုမိုရှုပ်ထွေးသောလိုအပ်ချက်များကိုလိုက်လျောညီထွေဖြစ်အောင်လုပ်ရန်ခွင့်ပြုသည်။
functional programming : array_reduce သည် ပိုမိုကောင်းမွန်သောအလုပ်လုပ်သောပရိုဂရမ်ပုံစံကိုရရှိနိုင်ပါသည်။
ပမာဏ - လိုအပ်ချက်များပိုမိုရှုပ်ထွေးလာသောအခါ array_reduce သည် max () function ကိုအကန့်အသတ်ဖြင့်သာပြန်ပို့ခြင်းထက်အဆင့်မီတွက်ချက်မှုဆိုင်ရာယုတ္တိဗေဒသို့အတိုင်းအတာအထိပိုမိုလွယ်ကူသည်။
array_reduce ၏ဤအမြင့်ဆုံးတန်ဖိုးတွက်ချက်မှုနည်းလမ်းသည်အထူးသဖြင့်ရှုပ်ထွေးသောအချက်အလက်များကိုထုတ်လုပ်သည့်အခါအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ကြီးမားသောလျှောက်လွှာအလားအလာရှိသည်။ ဥပမာအားဖြင့်:
ဒေတာလုပ်ဆောင်နေစဉ်အတွင်းသတင်းအချက်အလက်များကိုတစ်ဆင့်ချင်းစီအဆင့်ဆင့်စုလိုက်ရန်လိုအပ်ပြီးအချို့သောသတ်သတ်မှတ်မှတ်ကိစ္စများတွင် array တွင်အများဆုံးတန်ဖိုးကိုခြေရာခံရန်လိုအပ်သည်။
ရှုပ်ထွေးသောအဆောက်အအုံများ၏အချက်အလက်များမှသတ်မှတ်ထားသောအမြင့်ဆုံးတန်ဖိုးကိုယူရန်လိုအပ်သည်။
array_reduce function မှတဆင့် Custom Callback Logic ကို အသုံးပြု. Array element များကိုစုဆောင်းခြင်းကိုအကောင်အထည်ဖော်နိုင်ပြီး array တွင်အများဆုံးတန်ဖိုးကိုဖြေရှင်းနိုင်သည်။ ဤနည်းလမ်းသည်ပိုမိုမြင့်မားသောပြောင်းလွယ်ပြင်လွယ်ရှိရုံသာမက developer များသည်လည်း PHP ၏ functional programming features များကိုပိုမိုနားလည်ပြီးကျင့်သုံးရန်ကူညီသည်။ ရိုးရှင်းသောအခြေအနေများအတွက် PHP ၏ built-in max function ကိုအသုံးပြုခြင်းသည်ပိုမိုထိရောက်လိမ့်မည်, သို့သော်သင်၏လိုအပ်ချက်များသည်အနည်းငယ်ပိုမိုရှုပ်ထွေးသည်ဆိုလျှင် array_reduce သည်ရွေးချယ်စရာကောင်းသည်မှာသေချာသည်။