PHP တွင် array_filter () function သည် array တစ်ခုရှိ element များကို filter လုပ်ရန်အသုံးပြုသောဘုံခင်းကျင်းရေးကိရိယာတစ်ခုဖြစ်သည်။ array_filter () function သည် callback function ကိုလက်ခံသည်နှင့် parameters တွေကိုအဖြစ် array ကိုလက်ခံပြီး callback function ကိုအခြေအနေများနှင့်ကိုက်ညီသော array အသစ်တစ်ခုကိုပြန်ပို့သည်။
ပုံမှန်အားဖြင့် array_filter () filtered ခင်းကျင်း၏အဓိကအမည် (Subscript) ကိုဆက်လက်ထိန်းသိမ်းထားသည်။ သို့သော် developer တော်တော်များများကအဓိကအကြောင်းရင်းများကိုမထိန်းသိမ်းထားပါသို့မဟုတ်မမျှော်လင့်သောအခြေအနေများဖြစ်ပေါ်လာနိုင်သည်ကိုတွေ့ရှိနိုင်သည်။ ဒီတော့ဘာကြောင့်ဒီဖြစ်ရပ်ဖြစ်ရတာလဲ။
array_filter () ၏အခြေခံ function သည် callback function ၏ပြန်လာတန်ဖိုးကို အခြေခံ. မည်သည့်ဒြပ်စင်ကိုထိန်းသိမ်းထားသည်ကိုဆုံးဖြတ်ရန်ဖြစ်သည်။ Realts Realts True ကို ဆက်လက်ထိန်းသိမ်းထားလိမ့်မည် ။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_filter(array $array, callable $callback = null, int $mode = 0): array
$ array : filtered ခံရဖို့ Array ။
$ callback : filtering များအတွက် callback function ကို။ ချန်လှပ်ထားလျှင်အချည်းနှီးမဟုတ်သောတန်ဖိုးများအားလုံးကိုပုံမှန်အားဖြင့်ထိန်းသိမ်းထားလိမ့်မည်။
$ mode : ခင်းကျင်းမှု၏ indexing နည်းလမ်းကိုထိန်းချုပ်နိုင်သည့် optional parameter, များသောအားဖြင့် array_filter_use_key_ array_filter_use_use_use_use_use_use_use_use_se_se_filter_use_se_filter_use_use_se_filter_use_use_se_se_filter_use_ust ။
array_filter () ဟုခေါ်သည့်အခါ၎င်းသည် array element ၏မူလသော့အမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်။ ဥပမာ, အောက်ပါဥပမာကိုသုံးသပ်ကြည့်ပါ -
$input = [0 => 'apple', 1 => 'orange', 2 => 'banana'];
$result = array_filter($input, function($value) {
return strlen($value) > 5;
});
print_r($result);
output ကိုဖြစ်လိမ့်မည်:
Array
(
[1] => orange
[2] => banana
)
သင်မြင်နိုင်သည့်အတိုင်းမူရင်းသော့ချက်အမည်များ (1 နှင့် 2) ကိုထိန်းသိမ်းထားသည်။
သို့သော်အချို့သောကိစ္စရပ်များတွင် array_filter () သည် သော့ချက်အမည်မကိုက်ညီကြောင်းသင်တွေ့ရှိပါကများသောအားဖြင့် array_filter_use_seuse_key_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_use_se_se_filter_use_use_use_use_use_se_se_filter_use_use_use_both mode ကိုသုံးတယ် ။
ဒီဥပမာကိုကြည့်ရအောင်။
$input = [0 => 'apple', 1 => 'orange', 2 => 'banana'];
$result = array_filter($input, function($key) {
return $key > 0;
}, ARRAY_FILTER_USE_KEY);
print_r($result);
ဒီကုဒ် output ကိုဖြစ်လိမ့်မည်:
Array
(
[1] => orange
[2] => banana
)
ဤနေရာတွင် array_filter_use_key_key ပုံစံကိုအသုံးပြုသော်လည်းအမှန်တကယ် element ၏တန်ဖိုးများထက်အဓိကတန်ဖိုးများကိုစစ်ထုတ်သည့်အတွက်အဓိကအမည်များကိုထိန်းသိမ်းထားဆဲဖြစ်သည်။
Array_Filter () သည် ခင်းကျင်းခြင်း၏သော့များကိုပြောင်းလဲခြင်းမရှိဘဲပြင်ဆင်ခြင်း၏တန်ဖိုးများကိုသာစစ်ဆေးသည်။ အကယ်. သင် array_filter_use_key_ array_filter_use_both ကို သုံးပါ ၎င်းသည် PHP ၏အတွင်းပိုင်းအပြောင်းအလဲအတွက်ယုတ္တိဗေဒကြောင့်ဖြစ်သည်။
Filtered Array ကိုဆက်ထိန်းထားသည့်သော့ချက်အမည်များကိုပြန်လည်ထိန်းချုပ်လိုပါက index ကိုပြန်လည်တည်ဆောက်ရန် array_values () ကို သုံးနိုင်သည်။
$input = [0 => 'apple', 1 => 'orange', 2 => 'banana'];
$result = array_filter($input, function($value) {
return strlen($value) > 5;
});
$result = array_values($result);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[0] => orange
[1] => banana
)
သင်တွေ့ရသည့်အတိုင်း, array_values () ကိုအသုံးပြုပြီးနောက် (), array keys ကို reindexed, 0 ကနေစသောအဓိကအမည်များကိုရရှိလာတဲ့။
array_filter () သည် အဓိကအကြောင်းရင်း များကိုပုံမှန်အားဖြင့်ထိန်းသိမ်းထားပါ, အကယ်. သော့ချက်အမည်ကိုသင်ပြန်လည်သတ်မှတ်ရန်လိုအပ်ပါက၎င်းကို Array_Values () ဖြင့်ဖြေရှင်းနိုင်သည်။
ဤဆောင်းပါးသည် array_filter () ၏အပြုအမူကိုနားလည်ခြင်းအတွက်အထောက်အကူပြုလိမ့်မည်ဟုမျှော်လင့်ပါ။