PHP တွင် array_filter () function ကို etray တစ်ခုအတွင်းရှိ element များကို filter လုပ်ရန်အသုံးပြုသည်။ အကယ်. callback function ကိုမသတ်မှတ်ပါက array_filter () သည် "မှားယွင်းသောတန်ဖိုးများ" ဟုယူမှတ်ထားသော element များကိုဖျက်ရန် default callback function ကိုသုံးလိမ့်မည်။ PHP ရှိ "မှားယွင်းသောတန်ဖိုးများ" တွင် မှားယွင်းသော , Null , 0, 0 င် " (အချည်းနှီးသော string), array (အချည်းနှီးသော string) နှင့် 0.0 ။
ထို့ကြောင့် PHP တွင် array_filter () ကို အသုံးပြုသောအခါ Array ရှိ Element တန်ဖိုးသည် 0 ဖြစ်ပါလိမ့်မည်။ ၎င်းသည်မှားယွင်းသောတန်ဖိုးကိုစဉ်းစားပြီးဖျက်ပစ်လိမ့်မည်။ ဤပြ problem နာကိုပိုမိုနားလည်ရန် array_filter ၏အပြုအမူကိုပြသရန်တိကျသောဥပမာတစ်ခုကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
<?php
$array = [0, 1, 2, 3, 0, 4, 5, 0];
$filtered = array_filter($array);
print_r($filtered);
?>
ထုတ်လုပ်မှု -
Array
(
[1] => 1
[2] => 2
[3] => 3
[5] => 4
[6] => 5
)
အထက်ပါကုဒ်များတွင်ကိန်းများစွာပါ 0 င်သော instegers များပါ 0 င်သည့် in ရာမစ်ကိုကျွန်ုပ်တို့ဖန်တီးသည်။ ကျွန်ုပ်တို့ array_filter ကို သုံးသောအခါ 0 ၏တန်ဖိုးရှိဒြပ်စင်အားလုံးကိုပယ်ဖျက်ခြင်းကြောင့် 0 ကိုဖျက်ပစ်သည်။
ဘာဖြစ်လို့လဲဆိုတော့ array_filter () function ရဲ့ default အပြုအမူရဲ့မူလအပြုအမူကတော့ array ကနေ "မှားယွင်းသောတန်ဖိုးများ" ဟုမှတ်ယူထားသည့်အရာအားလုံးကိုဖယ်ရှားရန်ဖြစ်သည်။ PHP ၏ပြောင်းလဲခြင်းစည်းမျဉ်းစည်းကမ်းများသည် 0 င်မှားယွင်းသောတန်ဖိုးကိုဆုံးဖြတ်သည်။ အထူးသဖြင့် 0 သည် မှားယွင်းသောအရာ နှင့် မှားယွင်းသော ကြောင့် array_filter () eleme ကိုဖျက်ရန် array_filter ()
အကယ်. သင်သည် Element များကို 0 0 တန်ဖိုးရှိ 0 0 ကိုသိမ်းထားလိုပါကစိတ်ကြိုက်ခေါ်ဆိုမှု function ကို ပေး. သင်လုပ်နိုင်သည်။ ဥပမာအားဖြင့်:
<?php
$array = [0, 1, 2, 3, 0, 4, 5, 0];
$filtered = array_filter($array, function($value) {
return $value === 0 || $value > 0;
});
print_r($filtered);
?>
ထုတ်လုပ်မှု -
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[5] => 4
[6] => 5
[7] => 0
)
ဤဥပမာတွင် 0 0 ၏တန်ဖိုးနှင့်အတူ element ကိုထိန်းသိမ်းထားရန်သေချာစေရန်ထုံးစံခေါ်ဆိုမှု function ကိုအသုံးပြုသည်။
array_filter () ကို သုံးသောအခါ PHP သည် 0 ကို မှားယွင်းသောတန်ဖိုးတစ်ခုအဖြစ် 0 င်သောကြောင့် 0 ကို 0 မျိုးစုံနှင့် 0 0 ၏တန်ဖိုးနှင့်အတူဒြပ်စင်များကိုဖျက်ပစ်လိုက်သည်။ callback function ကိုမရှိခြင်းကြောင့် array_filter () သည် ဤမှားယွင်းသောတန်ဖိုးများကိုအလိုအလျောက်ဖျက်လိမ့်မည်။ အကယ်. သင်သည် 0 သို့မဟုတ်အခြားသီးခြားတန်ဖိုးများကိုသိမ်းထားရန်လိုအပ်ပါက filtering အပြုအမူကိုထိန်းချုပ်ရန်စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုပေးနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
array_filter