PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အချို့သောအခြေအနေများနှင့်ကိုက်ညီသောအရာများကိုစစ်ဆေးရန်လိုအပ်လေ့ရှိသည်။ အသုံးအများဆုံးနည်းလမ်းတစ်ခုမှာ foreach foreach ကိုစစ်ထုတ်ပြန်ချက်များနှင့်အတူအသုံးပြုရန်ဖြစ်သည်။ သို့သော် PHP Standard Library သည်ဤလိုအပ်ချက်အတွက်ဒီဇိုင်းပြုလုပ်ထားသော ARRAY_FILTER () ကိုပိုမိုတိကျသောလုပ်ဆောင်မှုကိုပေးသည်။ ထို့နောက်မေးခွန်းမှာ -
ကျွန်ုပ်တို့တွင်သုံးစွဲသူစာရင်းတွင်အသုံးပြုသူစာရင်းရှိသည်ဆိုပါစို့။ အသက် 18 နှစ်အောက်သုံးစွဲသူများကိုစစ်ထုတ်လိုသည်ဆိုပါစို့။
$users = [
['name' => 'Alice', 'age' => 22],
['name' => 'Bob', 'age' => 17],
['name' => 'Charlie', 'age' => 30],
];
$adults = [];
foreach ($users as $user) {
if ($user['age'] > 18) {
$adults[] = $user;
}
}
$users = [
['name' => 'Alice', 'age' => 22],
['name' => 'Bob', 'age' => 17],
['name' => 'Charlie', 'age' => 30],
];
$adults = array_filter($users, function($user) {
return $user['age'] > 18;
});
Code Readability အရ array_filter () သည်အထူးသဖြင့်ယုတ္တိဗေဒရိုးရှင်းသည့်အခါတွင် array_filter () သည် ပို. ကျစ်လစ်သိပ်သည်းသည်။
နှစ်ခုနှစ်ခုအကြားစွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများကိုရိုးရှင်းသောစစ်ဆေးမှုဇာတ်ညွှန်းဖြင့်အချက်အလက်အမြောက်အများဖြင့်နှိုင်းယှဉ်ကြပါစို့။
$users = [];
for ($i = 0; $i < 100000; $i++) {
$users[] = ['name' => "User$i", 'age' => rand(10, 50)];
}
// အသုံးပြု foreach
$start = microtime(true);
$adults1 = [];
foreach ($users as $user) {
if ($user['age'] > 18) {
$adults1[] = $user;
}
}
$time1 = microtime(true) - $start;
// အသုံးပြု array_filter
$start = microtime(true);
$adults2 = array_filter($users, function($user) {
return $user['age'] > 18;
});
$time2 = microtime(true) - $start;
echo "foreach အချိန်ကုန်စေသော: {$time1} စက်ဏန့်\n";
echo "array_filter အချိန်ကုန်စေသော: {$time2} စက်ဏန့်\n";
foreach အချိန်ကုန်စေသော: 0.025 စက်ဏန့်
array_filter အချိန်ကုန်စေသော: 0.027 စက်ဏန့်
တွေ့မြင်နိုင်သည့်အတိုင်း စွမ်းဆောင်ရည်ကွာခြားချက်သည်အနည်းဆုံးဖြစ်ပါသည် ။ အချို့ကိစ္စများတွင်ပင် fonteach သည် အနည်းငယ်ပိုမိုမြန်ဆန်သည် ။
array_filter () ကိုအသုံးပြုသောနေရာကိုအကြံပြုထားသောအခြေအနေများ -
အခြေအနေများမှာရိုးရှင်းပြီးကုဒ်သည်ရှင်းလင်းသောဖြစ်သည်။
code ကို functional စတိုင်ဖြင့်ရေးချင်သည်။
ဒေတာပြုပြင်ခြင်းကွင်းဆက်ကိုအခြား Array_map () ) နှင့်အသုံးပြုရန်လိုအပ်သည်။
အကြံပြုသည့်အခြေအနေများ fonteach:
ပိုမိုမြင့်မားသောစွမ်းဆောင်ရည်နှင့်အဆုံးစွန်ပိုကောင်းအောင်လိုအပ်ပါတယ်။
ခြွင်းချက်ကောင်းသောယုတ္တိဗေဒသည်ရှုပ်ထွေးသောသို့မဟုတ်ကွင်းဆက်ပြတ်တောက်ရန်လိုအပ်သည်။
အပိုဆောင်းစစ်ဆင်ရေးများ (ဥပမာရည်ညွှန်းချက်ခြင်းစသဖြင့်) မူရင်းခင်းကျင်းရန်လိုအပ်သည်။
အချို့သောကိစ္စရပ်များတွင် Foreneach သည် အနည်းငယ်ပိုကောင်းသည်မှာ array_filter () သည် အထူးသဖြင့် Code Readability နှင့်ထိန်းသိမ်းမှုကိုရှာဖွေသည့်အခါ ပို. ကြော့ရှင်းသောဖြေရှင်းနည်းကိုပေးသည်။ စွမ်းဆောင်ရည်အရနှစ်ခုအကြားခြားနားချက်မှာအနည်းငယ်မျှသာဖြစ်ပါသည် ။
သငျသညျ code ကိုနားလည်ရန်နှင့်ထိန်းသိမ်းရန်ပိုမိုလွယ်ကူစေရန်ပိုမိုလွယ်ကူစေလိုလျှင်, array_filter () !