လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_Filter function ၏အခြေခံအသုံးပြုမှုနှင့် parameters တွေကိုဘာတွေလဲ။ array_filter ကိုမှန်ကန်စွာအသုံးပြုနည်းကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာခြင်း

Array_Filter function ၏အခြေခံအသုံးပြုမှုနှင့် parameters တွေကိုဘာတွေလဲ။ array_filter ကိုမှန်ကန်စွာအသုံးပြုနည်းကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-07-26

PHP တွင် array_filter function သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်ပြီး boolean value အပေါ်အခြေခံပြီး boolean value အပေါ်အခြေခံပြီးဒြပ်စင်ကိုဆက်လက်ထိန်းသိမ်းထားရန်ဆုံးဖြတ်သည့်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် array မှစံသတ်မှတ်ချက်များနှင့်မကိုက်ညီသောဒြပ်စင်များကိုဖယ်ရှားရန်သို့မဟုတ်အချို့သောယုတ္တိဗေဒဆိုင်ရာအချက်အလက်များကို အခြေခံ. ယူပြီးထုတ်ယူရန်အသုံးပြုသည်။

အခြေခံ syntax

 <span><span><span class="hljs-title function_ invoke__">array_filter</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-literal">null</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$mode</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>

parameter သည်ဖော်ပြချက်:

  1. Array (လိုအပ်သည်)
    ဤသည်သင်စစ်ဆင်ရေးစစ်ဆင်ရေးဖျော်ဖြေချင်သောခင်းကျင်းဖြစ်ပါတယ်။

  2. callback (optional ကို)
    ဤသည်ခင်းကျင်း၏အစိတ်အပိုင်းတစ်ခုချင်းစီကိုစိတ်ကျေနပ်မှုရှိမရှိဆုံးဖြတ်ပေးသော callback function ကိုဖြစ်ပါတယ်။ အကယ်. ဤ parameter သည် NULL ကိုသတ်မှတ်ထားပါက array_filter သည် မှားယွင်းသော , Null , 0 , အချည်းနှီးသောကြိုးများစသည်တို့ကဲ့သို့သော "အချည်းနှီးသော" တန်ဖိုးများအားလုံးကိုဖယ်ရှားလိမ့်မည်။

  3. Mode (optional)
    ၎င်းသည် array element များကိုတရားသူကြီးများကိုတရားစွဲဆိုရန် Callback function ကိုမည်သို့အသုံးပြုရမည်ကိုဆုံးဖြတ်သည့်စဉ်ဆက်မပြတ်ဖြစ်သည်။ အသုံးများသော mode များမှာ -

    • array_filter_use_key : callback function ကိုတန်ဖိုးထဲမှခင်းကျင်းမှု၏သော့များကိုလက်ခံရရှိသည်။

    • array_filter_use_both : callback function ကိုသော့နှင့်တန်ဖိုးများကိုလက်ခံရရှိသည်။

အခြေခံအသုံးပြုမှု

ဤနေရာတွင်တွေ့ရသော array_filter အသုံးပြုမှုဥပမာအချို့ကိုကြည့်ပါ။

ဥပမာ 1 - Array တွင် "အချည်းနှီးသော" တန်ဖိုးများကို filter လုပ်ပါ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'apple'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ထုတ်လုပ်မှု -

 <span><span>Array
(
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">5</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-meta">6</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-meta">8</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>

ဤဥပမာတွင် Array_Filter သည်အ ချည်း နှီးဖြစ်သော "အချည်းနှီးသော" တန်ဖိုးများအားလုံးကို မှားယွင်းသော ,

ဥပမာ 2 - callback function ကိုအသုံးပြုပြီးခင်းကျင်းမှုကိုစစ်ထုတ်ခြင်း

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, function(</span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span> % </span><span><span class="hljs-number">2</span></span><span> == </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// ပင်နံပါတ်များကိုသာထိန်းသိမ်းထားကြသည်</span></span><span>
});

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ထုတ်လုပ်မှု -

 <span><span>Array
(
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>

ဤဥပမာတွင် Array_Fileter သည် Array ရှိ element တစ်ခုစီသည်အရေအတွက်ပင်ဖြစ်သည်ကိုစစ်ဆေးရန် callback function ကိုအသုံးပြုသည်။ ပြန်လာတန်ဖိုးမှာ မှန်သော အခါ, element ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။

ဥပမာ 3: Earray_Filter_use_seuse_key ကို key အားဖြင့်သုံးပါ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">'first'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>,
    </span><span><span class="hljs-string">'second'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>,
    </span><span><span class="hljs-string">'third'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>,
    </span><span><span class="hljs-string">'fourth'</span></span><span> =&gt; </span><span><span class="hljs-number">4</span></span><span>
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, function(</span><span><span class="hljs-variable">$key</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-string">'t'</span></span><span>) === </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// သော့များကိုသာထိန်းသိမ်းထားသည်'t'အစ element</span></span><span>
}, ARRAY_FILTER_USE_KEY);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ထုတ်လုပ်မှု -

 <span><span>Array
(
    [</span><span><span class="hljs-meta">third</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-meta">fourth</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>

ဤဥပမာသည် Arrray ခလုတ်များပေါ်တွင် အခြေခံ. စစ်ထုတ်ဝံ့ရမည်ကိုပြသသည်။ array_filter_use_key သည် callback function သည်တန်ဖိုး၏သော့များကိုတန်ဖိုးထားပါစေ။

ဥပမာ 4: သော့နှင့်တန်ဖိုးများကိုသုံးရန် array_filter_uboth ကို သုံးပါ

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">'apple'</span></span><span> =&gt; </span><span><span class="hljs-number">5</span></span><span>,
    </span><span><span class="hljs-string">'banana'</span></span><span> =&gt; </span><span><span class="hljs-number">0</span></span><span>,
    </span><span><span class="hljs-string">'orange'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>,
    </span><span><span class="hljs-string">'grape'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, function(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-variable">$key</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span> &gt; </span><span><span class="hljs-number">1</span></span><span> &amp;&amp; </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span>; </span><span><span class="hljs-comment">// အဆိုပါသီးသန့်တန်ဖိုးထက်သာ။ ကြီးမြတ်သည်1နှင့်သော့များပါရှိသည်'a'ဒြပ်</span></span><span>
}, ARRAY_FILTER_USE_BOTH);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ထုတ်လုပ်မှု -

 <span><span>Array
(
    [</span><span><span class="hljs-meta">apple</span></span><span>] =&gt; </span><span><span class="hljs-number">5</span></span><span>
    [</span><span><span class="hljs-meta">orange</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
)
</span></span>

ဤဥပမာသည် callback function ကိုသော့ချက်များနှင့်တန်ဖိုးများနှင့်အတူ callback function ကိုအားပေးရန် array_filter_use_both ကို အသုံးပြုသည်။ ရလဒ်ရလဒ်သည်ဒြပ်စင်များကို 1 ထက်ကြီးမြတ်သောတန်ဖိုးနှင့်အတူတန်ဖိုးရှိသည့်တန်ဖိုးပါ 0 င်သည်။

မှတ်သားရန်အရာ

  1. callback function ကို၏ပြန်လာတန်ဖိုး:
    callback function ၏ပြန်လာတန်ဖိုးမှာ boolean တန်ဖိုးကို စစ်မှန်သော သို့မဟုတ် မှားယွင်းသော ဖြစ်ရမည်။ အကယ် . မှန်ကန်စွာ ပြန်ရောက်ပါက၎င်းဒြပ်စင်ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။

  2. စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစား:
    array_filter သည် စစ်ဆေးရန်အတွက်ခင်းကျင်းတစ်ခုလုံးကိုဖြတ်သန်းသွားမည်။ အကယ်. Array သည်အလွန်ကြီးမားပြီး callback function သည်ရှုပ်ထွေးပြီး၎င်းသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ ဤကိစ္စတွင်, callback function ကိုအကောင်းဆုံးဖြစ်စေနိုင်, သို့မဟုတ်အခြားနည်းလမ်းများကိုအသုံးပြုနိုင်သည်ကိုစဉ်းစားပါ။

  3. သော့ချက် -
    array_filter သည် စစ်ထုတ်သည့်အခါမူရင်းခင်းကျင်းမှု၏သော့များကိုသိမ်းဆည်းထားသည်။ ဆိုလိုသည်မှာ အကယ်. သင်သည် Array မှ Element များကိုဖယ်ရှားပါကရလဒ်ကိုရရှိသောခင်းကျင်းသောသော့များသည်ပြန်လည်နေရာချထားမည်မဟုတ်ပါ။

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

Array_Filter သည်အလွန်အစွမ်းထက်သောလုပ်ဆောင်ချက်ဖြစ်ပြီးအခြေအနေအမျိုးမျိုးပေါ် မူတည်. arles တစ်ခုတွင် element များကို filter လုပ်ရန်အသုံးပြုနိုင်သည်။ ၎င်းသည်အခြေခံစစ်ဆင်ရေးလုပ်ငန်းများကိုထောက်ပံ့ရုံသာမကပြောင်းလွယ်ပြင်လွယ် callback function များနှင့် modes များကိုလည်းထောက်ပံ့ပေးသည်။ array_filter ကို နားလည်သဘောပေါက်ခြင်းနှင့်အသုံးပြုခြင်းမှန်ကန်စွာသင့်ရဲ့ code ကိုပိုပြီးတိကျစွာနှင့်ထိရောက်စေရန်, အထူးသဖြင့်အကြီးစားဒေတာကိုကိုင်တွယ်သို့မဟုတ်သတ်သတ်မှတ်မှတ် filtering အခြေအနေများလိုအပ်သည့်အခါတိုင်းသင်၏ code ကိုပိုပြီး code ကိုပိုမိုတိကျစွာစေနိုင်သည်။

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

    array_filter