Laravel ၏နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုဖြစ်စဉ်တွင် "မမှန်မကန်" ဒေတာများကိုသန့်ရှင်းရေးလုပ်ရန်လိုအပ်သည့်အခြေအနေများတွင်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဥပမာအားဖြင့်, ပုံစံဖြင့်ဖြည့်ထားသောကွက်လပ်များ, API parameters များရှိအချည်းနှီးဖြစ်သောတန်ဖိုးများ (သို့) ဒေတာပစ္စည်းများကိုအချို့သောယုတ္တိဗေဒအပေါ် အခြေခံ. စစ်ထုတ်ရန်လိုအပ်သည်။ PHP တွင် Array_Filter () သည်ဤပြ problems နာများကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။
Array_filter () သည် PHP function ဖြစ်သော်လည်း Laravel Project တွင်အလွန်ကျယ်ပြန့်သော application ဇာတ်လမ်းလည်းရှိသည်။ သင်၏ Laravel project တွင်လျောက်ပတ်သောစီမံကိန်းကိုအသုံးပြုရန်ဥပမာတမှန်ကန်သောဥပမာအနည်းငယ်ဖြင့်သင့်ကိုခြေလှမ်းတစ်လှမ်းဖြင့်ခြေလှမ်းတစ်ဆင့်တက်မည်
အသုံးအများဆုံးအခြေအနေတစ်ခုမှာအသုံးပြုသူသည်ပုံစံကိုတင်ပြသောအခါဖြစ်သည်။ သို့သော်အချို့လယ်ကွင်းများသည်ဗလာဖြစ်သည်။ ကျွန်ုပ်တို့သည်အချည်းနှီးသောနယ်ပယ်များကိုသာလုပ်ကိုင်လိုပါသည်။
$data = [
'name' => 'Alice',
'email' => '',
'phone' => null,
'age' => 25,
];
// အသုံးပြု array_filter အချည်းနှီးသောတန်ဖိုးများကို filter(၎င်းကိုပုံမှန်အားဖြင့်ဖယ်ရှားပစ်လိမ့်မည် false、null、''、0)
$filtered = array_filter($data);
dd($filtered);
ထုတ်လုပ်မှု -
[
'name' => 'Alice',
'age' => 25,
]
Laravel တွင်ဤပြုပြင်ထုတ်လုပ်မှုကို Controller တွင်တောင်းဆိုထားသောအချက်အလက်များကိုလက်ခံပြီးနောက်သန့်ရှင်းရေးလုပ်ရန်အသုံးပြုသည်။
public function store(Request $request)
{
$data = array_filter($request->only(['name', 'email', 'phone', 'age']));
// အောက်ပါယုတ္တိဗေဒသည်အချည်းနှီးသောနယ်ပယ်များကိုသာသာပြုလုပ်သည်
User::create($data);
return redirect()->to('https://m66.net/success');
}
default array_filter () သည်နံပါတ် 0 နှင့် string "0" အပါအ 0 င် "မှားယွင်းသောတန်ဖိုးများ" အားလုံးကိုဖယ်ရှားပေးသည်။ သငျသညျအချည်းနှီးသော strings ဖယ်ရှားပစ်နှင့်တရားဝင် 0s ကိုစောင့်ရှောက်လိုလျှင်ကော။
$data = [
'status' => 0,
'code' => '0',
'description' => '',
];
// Custom Callbacks,အချည်းနှီးသောကြိုးများကိုသာစစ်ထုတ်ပါ
$filtered = array_filter($data, function ($value) {
return $value !== '';
});
ထုတ်လုပ်မှု -
[
'status' => 0,
'code' => '0',
]
ဤစာအရေးအသားနည်းလမ်းသည်အမိန့်အခြေအနေနှင့်အခြားယုတ္တိဗေဒများကိုကိုင်တွယ်ရာတွင်အလွန်လက်တွေ့ကျသည်။
Laravel ၏စုဆောင်းမှုသည် array_filter () နှင့်ဆင်တူသည့်အလားတူ filter () နည်းလမ်းကိုလည်းပေးသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ကွင်းဆက်တစ်ခုတွင်လည်ပတ်နိုင်သည်။
$users = collect([
['name' => 'Tom', 'email' => 'tom@m66.net'],
['name' => 'Jerry', 'email' => null],
['name' => 'Spike', 'email' => ''],
]);
$filtered = $users->filter(function ($user) {
return !empty($user['email']);
});
လော့ဂ်ဂစ်ကိုရိုးရှင်းစေရန် filter () ကို တိုက်ရိုက်သုံးနိုင်သည်။
$filtered = $users->filter(fn($user) => !empty($user['email']));
ထုတ်လုပ်မှု -
[
['name' => 'Tom', 'email' => 'tom@m66.net'],
]
သင်အသုံးပြုသူရှာဖွေရေး function ကိုရေးဆွဲနေပြီးရှေ့ဆုံးသည် optional parametersks အချို့ကိုဖြတ်သန်းသွားပါစို့။
public function index(Request $request)
{
$filters = array_filter($request->only(['name', 'email', 'status']), function ($val) {
return $val !== '';
});
$users = User::where($filters)->get();
return view('users.index', compact('users'));
}
ဤနည်းအားဖြင့်သင်သည် မည်သည့်နေရာတွင် မမှန်ကန်တဲ့စုံစမ်းမှုများကိုရှောင်ရှားရန်အမှန်တကယ်သွင်းအားစုများအပေါ် အခြေခံ. စုံစမ်းမှုအခြေအနေများကိုပြောင်းလဲနိုင်သည်။
array_filter () သည်ရိုးရှင်းသော်လည်းအလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ Laravel ၏တောင်းဆိုချက်နှင့်စုဆောင်းခြင်းတို့ဖြင့်အသုံးပြုသောအခါ၎င်းသည်ဒေတာသန့်ရှင်းရေးနှင့်ကုဒ်ဖတ်နိုင်မှု၏ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။
အကယ်. သင်သည် Array_filter () သင်၏စီမံကိန်းတွင်မသုံးပါကသင်ယခုစမ်းကြည့်ပြီး Laravel ကိုရေးသောအခါကောင်းကောင်းကူညီနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
array_filter