PHP ၏ Array processing function တွင် array_filter () သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်ပြီး၎င်း၏ရည်ရွယ်ချက်မှာ "စံနှုန်းများနှင့်မကိုက်ညီသောအရာများ" ဒြပ်စင်များကိုဖယ်ရှားရန်ဖြစ်သည်။ သို့သော်၎င်းတွင်အစပြုသူများကိုရှုပ်ထွေးစေနိုင်သောအပြုအမူရှိသည်။
ထို့နောက်မေးခွန်းမှာ -
array_fileter () ကို သုံးသောအခါသင် callback function ကိုမလွန်ပါကရလဒ်အပေါ်အကျိုးသက်ရောက်မှုမရှိပါဟုသင်မှားယွင်းစွာစဉ်းစားမည်လော။
အတူတူနက်ရှိုင်းစွာဆန်းစစ်ကြပါစို့။
array_filter (array-$ array), Callable $ callback = null, int $ mode ကို = 0): ဒုတိယမြောက် callback $ callback optional ဖြစ်ပါတယ်။
Callback function ကိုသင်မပေးသည့် အခါ array_filter () သည် booolval () ကို "true" ဟုတ်မဟုတ်ဆုံးဖြတ်ရန် default boolval () ကို အသုံးပြုလိမ့်မည်။ ဆိုလိုသည်မှာ၎င်းသည် "အတုအယောင်" ဒြပ်စင်အားလုံးကိုဖယ်ရှားပေးသည်။
မှားသော
0 (ကိန်းဂဏန်းသို့မဟုတ် string)
တရားစွာလဲှ
အချည်းနှီးသော string ကို ""
အချည်းနှီးသောခင်းကျင်း []
$data = [0, 1, false, 2, '', 3, null];
$result = array_filter($data);
print_r($result);
output ရလဒ် -
Array
(
[1] => 1
[3] => 2
[5] => 3
)
သင် 0 င် , false '' နှင့် NULL အားလုံး filtered နေကြသည်။
အစပြုသူများစွာကစဉ်းစားမိလိမ့်မည်။
အကယ်. ကျွန်ုပ်သည် calmback function ကိုမသွားပါကမည်သည့်အရာကိုမဆိုလုပ်ခြင်းမခံရပါ။
ဒါပေမယ့်သိသာထင်ရှားတဲ့ဒီနားလည်မှုလွဲဖြစ်ပါတယ်။ အမှန်မှာ, ပုံမှန်အပြုအမူကိုယ်နှိုက်သည် ယုတ္တိဗေဒကိုစစ် ထုတ်ပြီး "Boolean အမှန်တရား" ကိုအခြေခံသည်။
အကယ်. သင်သည် null value ကိုသာထုတ်ယူလိုပါက 0 , မှားယွင်းသော ,
$data = [0, 1, false, 2, '', 3, null];
$result = array_filter($data, function($item) {
return $item !== null;
});
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[0] => 0
[1] => 1
[2] =>
[3] => 2
[4] =>
[5] => 3
)
ဤအချိန်တွင် NULL ကို သာစစ်ထုတ်ကာအခြား "မှားယွင်းသောတန်ဖိုးများ" ကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။
callback function ကိုဖြတ်သန်းခြင်းမရှိပဲ Array_Filter () သည် "အကူးအပြောင်းမဟုတ်ပါ" မဟုတ်ဘဲ boolean ence တွင် "မှားယွင်းသောတန်ဖိုးများ" အားလုံးကိုပုံမှန်အားဖြင့်စစ်ထုတ်ခြင်းမဟုတ်ပါ။ ဒေတာများကိုသန့်ရှင်းရေးလုပ်သည့်အခါ၎င်းသည်အသုံးဝင်သည်, သို့သော်၎င်းသည်နားလည်မှုလွဲမှားခြင်းများကိုအလွယ်တကူဖြစ်ပေါ်စေနိုင်သည်။
ကျိုးကြောင်းဆီလျော်ရှုပ်ထွေးမှုကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်သင့်အားကျွန်ုပ်တို့အကြံပြုပါသည်။
သင်စစ်ထုတ်လိုသည့်တိကျသောအကြောင်းအရာကိုခွဲခြားသတ်မှတ်ရန်,
ထုံးစံယုတ္တိဗေဒလိုအပ်ချက်ရှိပါကအမြဲတမ်း callback function ကိုအတိအလင်းဖြတ်ကျော်ပါ။
သော့ချက်အမည်ကိုထိန်းသိမ်းရန်ဂရုပြုပါ (မူရင်းခင်းကျင်းမှု၏သော့ကိုမူလစာမျက်နှာအမည်ကိုပုံမှန်အားဖြင့်ထိန်းသိမ်းထားသည်) ။
ဤလုပ်ဆောင်မှုကိုအမှန်တကယ် application တွင်ပိုမိုကြည့်ရှုရန်အောက်ပါစာမျက်နှာကိုကြည့်ရှုရန်အောက်ပါစာမျက်နှာသို့သွားနိုင်သည် (နမူနာလိပ်စာဒိုမိန်းအမည်ကို M66.net ဖြင့်အစားထိုးထားသည်):