လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_filter ကိုသုံးသောအခါသော့ချက်အမည်သိမ်းဆည်းမှုကိုလျစ်လျူရှုထားသည်။

array_filter ကိုသုံးသောအခါသော့ချက်အမည်သိမ်းဆည်းမှုကိုလျစ်လျူရှုထားသည်။

M66 2025-05-17

PHP တွင် array_filter () function သည် array တစ်ခုရှိ element များကို filter လုပ်ရန်အသုံးပြုသောဘုံခင်းကျင်းရေးကိရိယာတစ်ခုဖြစ်သည်။ array_filter () function သည် callback function ကိုလက်ခံသည်နှင့် parameters တွေကိုအဖြစ် array ကိုလက်ခံပြီး callback function ကိုအခြေအနေများနှင့်ကိုက်ညီသော array အသစ်တစ်ခုကိုပြန်ပို့သည်။

ပုံမှန်အားဖြင့် array_filter () filtered ခင်းကျင်း၏အဓိကအမည် (Subscript) ကိုဆက်လက်ထိန်းသိမ်းထားသည်။ သို့သော် developer တော်တော်များများကအဓိကအကြောင်းရင်းများကိုမထိန်းသိမ်းထားပါသို့မဟုတ်မမျှော်လင့်သောအခြေအနေများဖြစ်ပေါ်လာနိုင်သည်ကိုတွေ့ရှိနိုင်သည်။ ဒီတော့ဘာကြောင့်ဒီဖြစ်ရပ်ဖြစ်ရတာလဲ။

1 ။ array_filter ၏အပြုအမူ ()

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

2 ။ ပုံမှန်အားဖြင့် array_filter () သော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်

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) ကိုထိန်းသိမ်းထားသည်။

3 ။ array_filter () ကသော့ချက်အမည်များကိုလျစ်လျူရှုသောအမှု

သို့သော်အချို့သောကိစ္စရပ်များတွင် 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 ၏တန်ဖိုးများထက်အဓိကတန်ဖိုးများကိုစစ်ထုတ်သည့်အတွက်အဓိကအမည်များကိုထိန်းသိမ်းထားဆဲဖြစ်သည်။

4 ။ array_filter () သည် သော့ချက်အမည်များကိုငြင်းဆန်သနည်း။

Array_Filter () သည် ခင်းကျင်းခြင်း၏သော့များကိုပြောင်းလဲခြင်းမရှိဘဲပြင်ဆင်ခြင်း၏တန်ဖိုးများကိုသာစစ်ဆေးသည်။ အကယ်. သင် array_filter_use_key_ array_filter_use_both ကို သုံးပါ ၎င်းသည် PHP ၏အတွင်းပိုင်းအပြောင်းအလဲအတွက်ယုတ္တိဗေဒကြောင့်ဖြစ်သည်။

5 ။ ဖြေရှင်းချက် - အညွှန်းကိန်းကိုပြန်လည်တည်ဆောက်ပါ

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 ကနေစသောအဓိကအမည်များကိုရရှိလာတဲ့။

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

array_filter () သည် အဓိကအကြောင်းရင်း များကိုပုံမှန်အားဖြင့်ထိန်းသိမ်းထားပါ, အကယ်. သော့ချက်အမည်ကိုသင်ပြန်လည်သတ်မှတ်ရန်လိုအပ်ပါက၎င်းကို Array_Values ​​() ဖြင့်ဖြေရှင်းနိုင်သည်။

ဤဆောင်းပါးသည် array_filter () ၏အပြုအမူကိုနားလည်ခြင်းအတွက်အထောက်အကူပြုလိမ့်မည်ဟုမျှော်လင့်ပါ။