လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_filter () + array_map () သည်ရှုပ်ထွေးသောခင်းကျင်းပြောင်းလဲခြင်းနှင့်စီစစ်ခြင်းများအကောင်အထည်ဖော်

array_filter () + array_map () သည်ရှုပ်ထွေးသောခင်းကျင်းပြောင်းလဲခြင်းနှင့်စီစစ်ခြင်းများအကောင်အထည်ဖော်

M66 2025-06-04

PHP တွင် array_filter () နှင့် array_map () တွင် အလွန်အစွမ်းထက်။ အသုံးများသောတပ်ဆင်ထားသည့်တပ်ဆင်ထားသောလုပ်ဆောင်ချက်များဖြစ်သည်။ ယခင်အရာဝတ်ထုကို array တစ်ခုအတွင်းရှိဒြပ်စင်များကိုစစ်ထုတ်ရန်အသုံးပြုသည်။ ၎င်းတို့ကိုတစ် ဦး တည်းအသုံးပြုခြင်းသည်ပြ problems နာများစွာကိုဖြေရှင်းနိုင်သည်, သို့သော်နှစ်ခုအတူတကွအသုံးပြုခြင်းသည်ရှုပ်ထွေးသောအဆောက်အအုံများ,

ရှုပ်ထွေးသောတပ်ဆင်မှုနှင့်ပြောင်းလဲခြင်းနှင့်ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန်မည် သည့် array_filter () array_map () ကို မည်သို့ချိတ်ဆက်ရမည်ကိုသရုပ်ပြရန်ဤဆောင်းပါးသည်လက်တွေ့ကျပုံဥပမာကိုအသုံးပြုလိမ့်မည်။

1 ။ မြင်ကွင်းနိဒါန်း

အသုံးပြုသူတစ် ဦး ချင်းစီတွင်အသုံးပြုသူတစ် ဦး စီတွင်အသုံးပြုသူများစွာပါ 0 င်သည်ဆိုပါစို့။ ကျွန်ုပ်တို့၏ရည်မှန်းချက်ပန်းတိုင်များမှာအမည်,

  • status ကို "Active" နှင့်အတူအသုံးပြုသူများသာဆက်လက်ထိန်းသိမ်းထားသည်;

  • အသုံးပြုသူတစ် ဦး ချင်းစီ၏အမည်ကိုအရင်းအနှီးသို့ပြောင်းပါ။

  • output နှစ်ခုတည်းသောကွက်လပ်များသာအမည်နှင့်စာတိုက်ပုံး,

ဥပမာမူလခင်းကျင်းမှုသည်အောက်ပါအတိုင်းဖြစ်သည် -

 $users = [
    ['name' => 'Alice', 'age' => 25, 'email' => 'alice@m66.net', 'status' => 'active'],
    ['name' => 'Bob', 'age' => 30, 'email' => 'bob@m66.net', 'status' => 'inactive'],
    ['name' => 'Charlie', 'age' => 22, 'email' => 'charlie@m66.net', 'status' => 'active'],
];

2 ။ array_filter () filter သို့သုံးပါ

array_filter () ကို အသုံးပြုသူများကိုတက်ကြွစွာအဆင့်ဆင့်ဖြင့်ထုတ်ယူရန် () ကိုအသုံးပြုကြပါစို့။

 $activeUsers = array_filter($users, function($user) {
    return $user['status'] === 'active';
});

ဤအဆင့်ကိုကွပ်မျက်ခံရပြီးနောက် ဒေါ်လာ ActiveSuers တွင်အဲလစ်နှင့်ချာလီတို့သာပါဝင်သည်။

3 ။ array_map () ကိုသုံးရန်

နောက်တစ်ခုက array_map () မှာနာမည်ကိုအမြောက်အမြားပေးပြီးငါတို့ဂရုစိုက်တဲ့လယ်ကွက်တွေကိုပဲသိမ်းထားတယ်။

 $transformedUsers = array_map(function($user) {
    return [
        'name' => strtoupper($user['name']),
        'email' => $user['email']
    ];
}, $activeUsers);

ရလဒ်ရလဒ် -

 [
    ['name' => 'ALICE', 'email' => 'alice@m66.net'],
    ['name' => 'CHARLIE', 'email' => 'charlie@m66.net']
]

4 ။ ကွင်းဆက်အပြောင်းအလဲနဲ့နည်းစနစ် (optional)

သငျသညျ code ကိုပိုပြီးတိကျစွာဖြစ်ချင်လျှင်, သင်နှစ်ခုလုပ်ဆောင်ချက်များကိုကွင်းဆက်နိုင်ပါတယ်။ array_filter () သူ့ဟာသူသည်သော့ချက်ပြန်လည်ငွေများကိုမပြန်နိုင်သော်လည်း Array_Values ​​() နှင့်ပိုမိုကောင်းမွန်သောအလုပ်လုပ်သည်။

 $processedUsers = array_map(function($user) {
    return [
        'name' => strtoupper($user['name']),
        'email' => $user['email']
    ];
}, array_values(array_filter($users, function($user) {
    return $user['status'] === 'active';
})));

5 ။ အကျဉ်းချုပ်

array_filter () နှင့် array_map () ကိုပေါင်းစပ်ခြင်းသည်ရှုပ်ထွေးသော array များထုတ်လုပ်ရန်အလွန်ပြောင်းလွယ်ပြင်လွယ်ဖြစ်စေနိုင်သည်။ ဤနည်းလမ်းသည် API အချက်အလက်ပြန်ပို့ခြင်း,

ထို့အပြင်သင်သည် ActiveITIVEAT Array များကိုကိုင်တွယ်ဖြေရှင်းနေလျှင်သို့မဟုတ်သော့ချက်အမည်များကိုထိန်းသိမ်းရန်လိုအပ်ပါက array_keys () , array_values ​​() (),