လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> code ၏အလုပ်လုပ်တဲ့စတိုင်ကိုတိုးတက်စေရန် array_filter () ကိုသုံးပါ

code ၏အလုပ်လုပ်တဲ့စတိုင်ကိုတိုးတက်စေရန် array_filter () ကိုသုံးပါ

M66 2025-06-03

PHP တွင်၎င်းသည်အလုပ်လုပ်သောပရိုဂရမ်းမင်းဘာသာစကားမဟုတ်သော်လည်းအချို့သော built-in function tools များများမှတစ်ဆင့်ကျွန်ုပ်တို့သည် ပို. ကြော့ရှင်းသော, array_filter () သည်အလွန်အမင်းသတိမထားမိသော်လည်းအလွန်အစွမ်းထက်သည့်ကိရိယာ function ကိုဖြစ်သည်။ ဤဆောင်းပါးသည်သင်၏ PHP code style တိုးတက်စေရန်နှင့်အလုပ်လုပ်တဲ့ပရိုဂရမ်းမင်းကိုပိုမိုနီးကပ်စွာပြောင်းရွှေ့ရန် array_filter () ကို မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

array_filter () ?

array_filter () သည် PHP ရှိ PHP ရှိ PHP တွင်တပ်ဆင်ထားသည့်တပ်ဆင်ထားသောလုပ်ဆောင်မှုများအနက်မှတစ်ခုဖြစ်သည်။ ၎င်းသည် array ၏ element တစ်ခုစီ၏လုပ်ဆောင်မှုတစ်ခုစီ၏လုပ်ဆောင်မှုကိုလုပ်ဆောင်သော callback function ကိုလက်ခံပြီး၎င်းဒြပ်စင်သည် စစ်မှန်သောအမှန်တရား နှင့်အတူဒြပ်စင်များကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။

Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

အကယ် . callback function ကိုမပေးပါက၎င်းသည် 0 0 , Null , False စသဖြင့် မြား နှင့်ညီမျှသောတန်ဖိုးများကိုဖယ်ထုတ်လိမ့်မည်။

အသုံးပြုမှု 1 - ဒေတာထဲမှာ "null value" ကိုရှင်းလင်းပါ

Code line ကို သန့်ရှင်းရေးလုပ်ရန်အတွက်မမှန်ကန်တဲ့အကြောင်းအရာများပါ 0 င်သည့်ပုံစံသို့မဟုတ် api မှအချက်အလက်အချို့ကိုကျွန်ုပ်တို့အကြိမ်များစွာလက်ခံရရှိလိမ့်မည်။

 $data = [
    'username' => 'alice',
    'email' => '',
    'age' => null,
    'subscribe' => false,
];

$cleaned = array_filter($data);

print_r($cleaned);

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

 Array
(
    [username] => alice
)

၎င်းသည် foreach ကို ကိုယ်တိုင်ကိုယ်ကျစာရေးခြင်းထက် ပို. ကြော့ရှင်းသည်။

အသုံးပြုမှု 2 - ခြွင်းချက်စစ်ထုတ်ခြင်းအတွက်အမည်မသိလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်း

Callback လုပ်ဆောင်ချက်များကိုဖြတ်သန်းခြင်းဖြင့်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသောအခြေအနေစစ်ထုတ်ခြင်းကိုသင်အကောင်အထည်ဖော်နိုင်သည်။ ဥပမာအားဖြင့်သုံးစွဲသူများအုပ်စုမှတက်ကြွသောသုံးစွဲသူများကို filter လုပ်ပါ။

 $users = [
    ['name' => 'Alice', 'active' => true],
    ['name' => 'Bob', 'active' => false],
    ['name' => 'Carol', 'active' => true],
];

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

print_r($activeUsers);

output တွင်အဲလစ်နှင့်ကာရယ်လ်သာပါ 0 င်မည်ဖြစ်သည်။

အသုံးပြုမှု 3: API တုံ့ပြန်မှုသို့မဟုတ်ဒေတာဘေ့စ်ရလဒ်များ

မမှန်ကန်သောသို့မဟုတ်ယာယီအသုံးပြုသူများစွာပါ 0 င်သည့်ဝေးလံသော api ( https://api.m66.net/users ) မှအချက်အလက်များအစုတစ်ခုရရှိသည်ဆိုပါစို့။

 $response = file_get_contents('https://api.m66.net/users');
$users = json_decode($response, true);

$validUsers = array_filter($users, function ($user) {
    return isset($user['email']) && filter_var($user['email'], FILTER_VALIDATE_EMAIL);
});

သင်မြင်နိုင်သည်မှာ array_filter () သည် "Readator Programming" စတိုင်နှင့်ပိုမိုနီးကပ်စေရန်နှင့် Code ၏ရည်ရွယ်ချက်မှာ "ကွင်းဆက်များနှင့်အခြေအနေများမည်သို့အကောင်အထည်ဖော်ရန်" ကိုအာရုံစိုက်မည့်အစား Code ၏ရည်ရွယ်ချက်မှာရှင်းလင်းပြတ်သားသည်။

အသုံးပြုမှု 4: အခြားအလုပ်လုပ်တဲ့နည်းလမ်းများကိုအသုံးပြုပါ

array_filter () ကို array_map () နှင့် array_reduce ()) ကိုရေးဆွဲရန် foratical code ကိုရေးရန်အတွက် array_filter () ကိုပေါင်းစပ်နိုင်သည်။ ဥပမာအားဖြင့်, တက်ကြွသောအသုံးပြုသူ၏အသုံးပြုသူအမည်ကို filter လုပ်ပါ။

 $usernames = array_map(
    fn($user) => $user['name'],
    array_filter($users, fn($user) => $user['active'])
);

ရှင်းလင်းပြတ်သားသော semantics နှင့်အတူတိကျနှင့်ကြော့ရှင်း။

အကျဉ်းချုပ်

array_filter () သည်ပေါ့ပါး။ အစွမ်းထက်ပြီးအသုံးပြုရန်လွယ်ကူသည်။ ကောင်းစွာအသုံးပြုပါက၎င်းသည်သင်၏ PHP ကိုပိုမိုအလုပ်လုပ်စေပြီးဖတ်နိုင်သည်။ ရိုးရာ fonteach နှင့်နှိုင်းယှဉ်လျှင်၎င်းသည် Code of code တစ်ခုတွင် code line တစ်ခုတွင်ရှင်းရှင်းလင်းလင်းဖော်ပြနိုင်သည်။

သင်၏ကုဒ်၏အရည်အသွေးနှင့်စတိုင်ကိုတိုးတက်စေရန်သင်၏နောက်စီမံကိန်းတွင် array_filter () ကို သုံးရန်ကြိုးစားပါ။