PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် array များသည်အလွန်အသုံးများသောအချက်အလက်တည်ဆောက်ပုံများဖြစ်သည်။ arrays operating arrays များပြုလုပ်သောအခါ Null တန်ဖိုးများကိုဖယ်ရှားခြင်း, အချို့သောအခြေအနေများနှင့်ကိုက်ညီသောဒြပ်စင်များကိုဖယ်ရှားခြင်းစသည်တို့ကို filter လုပ်ရန်လိုအပ်လေ့ရှိသည် ။
ဤဆောင်းပါးသည် array_filter () ၏အခြေခံအဆောက်အအုံ, ဤလုပ်ဆောင်မှု၏လက်တွေ့ကျတဲ့အသုံးချမှုကိုမြန်မြန်ဆန်ဆန်ကျွမ်းကျင်စွာကျွမ်းကျင်စွာကျွမ်းကျင်မှုကိုအထောက်အကူပြုရန်အခြေခံအကျဆုံးအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြပါမည်။
array_filter () သည် PHP ၏ built-in function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာ element တစ်ခုစီကို array ထဲတွင် element တစ်ခုစီကို filter လုပ်ရန် callback function ကိုအသုံးပြုရန်ဖြစ်သည် ။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
$ array : filter သို့မူရင်းခင်းကျင်း။
$ callback (optional) - element တစ်ခုထိန်းသိမ်းထားခြင်းရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသော callback function ကို။ အကယ်. NULL လျှင် default ဖယ်ရှားရေးတန်ဖိုးများသည် မှားယွင်းသော , Null , အချည်းနှီးသော strings '' , နံပါတ် 0, အချည်းနှီးသောခင်းကျင်း [] နှင့်အခြား "မှားယွင်းသောတန်ဖိုးများ"
$ mode (PHP 7.4+) - callback function ကိုရောက်သောအကြောင်းအရာသည်တန်ဖိုး, key, key-value pair တစုံဖြစ်သည်။
၎င်းသည်အသုံးအများဆုံးနည်းလမ်းဖြစ်သည်, ပုံစံဒေတာသို့မဟုတ်ပြင်ဆင်မှုပစ္စည်းများစသည်တို့ကိုသန့်ရှင်းရေးလုပ်ရန်သင့်တော်သည်။
$data = ["apple", "", null, 0, "banana", false];
$filtered = array_filter($data);
print_r($filtered);
ရလဒ်ရလဒ် -
Array
(
[0] => apple
[4] => banana
)
callback function ကိုမကုန်တော့ပါက array_filter () သည် ပုံမှန်အားဖြင့် "မှားယွင်းသောတန်ဖိုး" ကိုဖယ်ရှားလိမ့်မည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်အရှည် 5 ခုထက် သာ. ကြီးမားသောအရှည်ဖြင့်သာထားပါ။
$words = ["apple", "strawberry", "banana", "kiwi"];
$filtered = array_filter($words, function($word) {
return strlen($word) > 5;
});
print_r($filtered);
ထုတ်လုပ်မှု -
Array
(
[1] => strawberry
[2] => banana
)
PHP 7.4 မှစတင်ခြင်းသည် filtering content ကိုတတိယ parameter $ mode ဖြင့်ထိန်းချုပ်နိုင်သည်။
$data = [
'a' => 100,
'b' => 200,
'x' => 300,
];
$filtered = array_filter($data, function($key) {
return $key === 'x';
}, ARRAY_FILTER_USE_KEY);
print_r($filtered);
ထုတ်လုပ်မှု -
Array
(
[x] => 300
)
$_POST = [
'username' => 'alice',
'email' => '',
'age' => null,
];
$clean_data = array_filter($_POST);
၎င်းသည် Null Fields ကိုလျင်မြန်စွာဖယ်ရှားနိုင်ပြီးခိုင်လုံသောအချက်အလက်များကိုသာထိန်းသိမ်းထားနိုင်သည်။
$users = [
['name' => 'Tom', 'active' => true],
['name' => 'Jerry', 'active' => false],
['name' => 'Spike', 'active' => true],
];
$active_users = array_filter($users, function($user) {
return $user['active'];
});
print_r($active_users);
$urls = [
'https://m66.net/home',
'invalid-url',
'http://m66.net/contact',
'',
];
$valid_urls = array_filter($urls, function($url) {
return filter_var($url, FILTER_VALIDATE_URL);
});
print_r($valid_urls);
array_filter ()) ကိုအသုံးပြုပြီးနောက်မူရင်းခင်းကျင်းမှု၏သော့အမည်ကိုပြန်လည်သတ်မှတ်လိမ့်မည်မဟုတ်ပါ (အကယ်. ၎င်းကိုပြန်လည်သတ်မှတ်ရန်လိုအပ်ပါက၎င်းကို array_values ( ) ဖြင့်အသုံးပြုနိုင်သည်။
အကယ်. သင် STICKENTCAME မှစစ်ထုတ်ရန်လိုအပ်ပါက PHP ဗားရှင်း> = 7.4 နှင့် array_filter_use_key ကို သုံးပါ။
Callback function သည် element ကိုထိန်းသိမ်းထားသည်ကိုဆုံးဖြတ်ရန် စစ်မှန်သော သို့မဟုတ် မှားယွင်းသော ပြန်လာသင့်သည်။