လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP array_filter () function မှတဆင့်ခင်းကျင်းသော array တစ်ခုတွင်တိကျသော element များကိုမည်သို့ပြောင်းလွယ်ပြင်နိုင်မည်နည်း။

PHP array_filter () function မှတဆင့်ခင်းကျင်းသော array တစ်ခုတွင်တိကျသော element များကိုမည်သို့ပြောင်းလွယ်ပြင်နိုင်မည်နည်း။

M66 2025-07-29
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------------------------------------</span></span><span>

</span><span><span class="hljs-comment">// PHP array_filter() မိတ်ဆက်နိဒါန်းနှင့်ပြောင်းလွယ်ပြင်လွယ် filtering applications</span></span><span>

</span><span><span class="hljs-comment">// -------------------------------------------------------------</span></span><span>

<span class="hljs-comment">/**
 * တည်နေ PHP အလယ်ပိုင်း,array_filter() ဒါဟာအလွန်အစွမ်းထက် built-in function ကိုဖြစ်ပါတယ်,
 * 它能够通过回调函数对数组အလယ်ပိုင်းဒြပ်进行筛选,
 * စံနှင့်ကိုက်ညီသော subarray ပြန်လာသည်,၎င်းသည် developer များကိုအချက်အလက်ပြောင်းလွယ်ပြင်လွယ်ဖြစ်ရန်ကူညီသည်。
 * ဤဆောင်းပါးသည်အသေးစိတ်မိတ်ဆက်ပေးပါမည် array_filter() အသုံးပြုမှုနှင့်အချို့သောလက်တွေ့စိစစ်ရေးနည်းစနစ်。
 */</span>

</span><span><span class="hljs-comment">// 1. အခြေခံအသုံးပြုမှု:ဗလာမဟုတ်သောဒြပ်စင်များကိုထုတ်ယူပါ</span></span><span>
</span><span><span class="hljs-variable">$input</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-number">2</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-string">'hello'</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>];
</span><span><span class="hljs-variable">$filtered</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$filtered</span></span><span>);
<span class="hljs-comment">/*
ရလဒ်:
Array
(
    [1] =&gt; 1
    [2] =&gt; 2
    [6] =&gt; hello
)
*/</span>
</span><span><span class="hljs-comment">// ဥပမာပြပါ:အဘယ်သူမျှမ callback function ကိုထောက်ပံ့သောအခါ,array_filter() အားလုံးပုံမှန်အားဖြင့်ဖယ်ရှားပါ“နှင့်ညီမျှ false”၏တန်ဖိုး。</span></span><span>

</span><span><span class="hljs-comment">// 2. တိကျသောအခြေအနေများ၏အစိတ်အပိုင်းများကို filter လုပ်ရန်စိတ်ကြိုက်ပြန်ခေါ်သည့်လုပ်ဆောင်ချက်များကို</span></span><span>
</span><span><span class="hljs-variable">$numbers</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-number">6</span></span><span>];
</span><span><span class="hljs-variable">$evenNumbers</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$numbers</span></span><span>, function(</span><span><span class="hljs-variable">$num</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$num</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-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$evenNumbers</span></span><span>);
<span class="hljs-comment">/*
ရလဒ်:
Array
(
    [1] =&gt; 2
    [3] =&gt; 4
    [5] =&gt; 6
)
*/</span>
</span><span><span class="hljs-comment">// ဥပမာပြပါ:callback function ကိုပြန်လာ true ၏ဒြပ်စင်,false ဒါကြောင့်ထွက် filtered လိမ့်မည်。</span></span><span>

</span><span><span class="hljs-comment">// 3. key name filtering ကိုသုံးပါ</span></span><span>
</span><span><span class="hljs-variable">$assoc</span></span><span> = [
    </span><span><span class="hljs-string">'apple'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>,
    </span><span><span class="hljs-string">'banana'</span></span><span> =&gt; </span><span><span class="hljs-number">5</span></span><span>,
    </span><span><span class="hljs-string">'cherry'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>,
    </span><span><span class="hljs-string">'date'</span></span><span> =&gt; </span><span><span class="hljs-number">7</span></span><span>,
];
</span><span><span class="hljs-comment">// သော့အမည်အရှည်ကသာထက်သာ။ ကြီးမြတ်သည်5ဒြပ်</span></span><span>
</span><span><span class="hljs-variable">$filteredByKey</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$assoc</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-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>) &gt; </span><span><span class="hljs-number">5</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">$filteredByKey</span></span><span>);
<span class="hljs-comment">/*
ရလဒ်:
Array
(
    [banana] =&gt; 5
    [cherry] =&gt; 1
)
*/</span>

</span><span><span class="hljs-comment">// 4. Multi-layer Array filter ကိုဥပမာ</span></span><span>
</span><span><span class="hljs-variable">$users</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">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">23</span></span><span>, </span><span><span class="hljs-string">'active'</span></span><span> =&gt; </span><span><span class="hljs-literal">true</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-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-string">'active'</span></span><span> =&gt; </span><span><span class="hljs-literal">false</span></span><span>],
    [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Charlie'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">27</span></span><span>, </span><span><span class="hljs-string">'active'</span></span><span> =&gt; </span><span><span class="hljs-literal">true</span></span><span>],
];
</span><span><span class="hljs-comment">// အသက်ကြီးသူထက် filter25တက်ကြွသောအသုံးပြုသူများ</span></span><span>
</span><span><span class="hljs-variable">$activeAdults</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$users</span></span><span>, function(</span><span><span class="hljs-variable">$user</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$user</span></span><span>[</span><span><span class="hljs-string">'age'</span></span><span>] &gt; </span><span><span class="hljs-number">25</span></span><span> &amp;&amp; </span><span><span class="hljs-variable">$user</span></span><span>[</span><span><span class="hljs-string">'active'</span></span><span>] === </span><span><span class="hljs-literal">true</span></span><span>;
});
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$activeAdults</span></span><span>);
<span class="hljs-comment">/*
ရလဒ်:
Array
(
    [2] =&gt; Array
        (
            [name] =&gt; Charlie
            [age] =&gt; 27
            [active] =&gt; 1
        )
)
*/</span>

</span><span><span class="hljs-comment">// 5. ကြိုတင်ကာကွယ်မှုများနှင့်စွမ်းဆောင်ရည်အကြံပြုချက်များ</span></span><span>
</span><span><span class="hljs-comment">// - array_filter အဆိုပါခင်းကျင်း reindexed လိမ့်မည်မဟုတ်ပေ,မူရင်းသော့ချက်အမည်ကိုသိမ်းထားပါ。</span></span><span>
</span><span><span class="hljs-comment">// - စဉ်ဆက်မပြတ် indexing လိုအပ်ပါက,ပူးပေါင်းဆောင်ရွက်နိုင်ပါတယ် array_values အသုံးပြု。</span></span><span>
</span><span><span class="hljs-comment">// - တည်နေ处理大数组时,calmback function ကိုယုတ္တိနည်းစေရန်ကြိုးစားပါ,စွမ်းဆောင်ရည် bottlenecks ရှောင်ကြဉ်ပါ。</span></span><span>

</span><span><span class="hljs-comment">// အကျဉ်းချုပ်:</span></span><span>
</span><span><span class="hljs-comment">// array_filter() ဟုတ်ကဲ့ PHP အလယ်ပိုင်း筛选数组元素的利器,callback လုပ်ဆောင်ချက်များ၏ပြောင်းလွယ်ပြင်လွယ်အဓိပ္ပါယ်,</span></span><span>
</span><span><span class="hljs-comment">// ရှုပ်ထွေးသောမျက်နှာပြင်လိုအပ်ချက်များကိုအမျိုးမျိုးအောင်မြင်နိုင်သည်,Code ရိုးရှင်းမှုနှင့် readability တိုးတက်အောင်လုပ်ပါ。</span></span><span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    array_filter