PHP တွင် array_filter () နှင့် array_reduce () လုပ်ဆောင်ချက်များသည်အလွန်အသုံး 0 င်သောကိရိယာများဖြစ်သည်။ သူတို့က developer တွေဟာ code ကို code code, code readabily နဲ့ထိရောက်မှုကိုတိုးတက်အောင်ကူညီနိုင်တယ်။ ဤဆောင်းပါးသည်ဒေတာစီစစ်ခြင်းနှင့်စုစည်းခြင်းအတွက်ဤလုပ်ငန်းဆောင်တာနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန်ဥပမာများကိုသုံးပါမည်။
အဆိုပါ array_filter () function ကို etray အတွက် element တွေကို filter လုပ်ဖို့အသုံးပြုသည်။ ၎င်းသည်ခင်းကျင်းမှုတစ်ခုနှင့် parameters များအဖြစ် callback function ကိုလက်ခံရရှိသည်။ အဆိုပါ callback function ကို array အတွက် element တစ်ခုစီကိုတရားသူကြီးတွေတရားသူကြီး။ အကယ်. callback function ကို ပြန်လည်ရောက်ရှိ ပါက Element သည်ရလဒ်ခင်းကျင်းမှုတွင်တည်ရှိနေပြီး, အကယ်. မှားယွင်းသော ပြန်လာလျှင်, element ကို filtered ဖြစ်ပါတယ်။
array_filter(array $array, callable $callback = null, int $mode = 0): array
$ array : filtered ခံရဖို့လိုအပ်တဲ့ array ။
$ callback : callback function ကို။ အကယ်. လုပ်ဆောင်မှုသည် မှန်ကန် ပါက element ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။ အကယ်. မှားယွင်းသော ပြန်လာလျှင်, element ကိုဖယ်ရှားလိမ့်မည်။ အကယ်. callback function ကိုမ 0 င်ပါကမှားသောတန်ဖိုးများ (ဥပမာ - တရားညရောပင် , မှားယွင်းသော , 0 င် , 0 ,
$ mode : optional ကို, indray ပြန်လာရန်အညွှန်းကိန်းနည်းလမ်းကိုသတ်မှတ်ခြင်း။ ပုံမှန်တန်ဖိုးသည် 0 ဖြစ်သည်, ဆိုလိုသည်မှာမူလအညွှန်းကိန်းကိုဆက်လက်ထိန်းသိမ်းထားသည်။
ကျွန်ုပ်တို့တွင် 10 ထက်သာသောကိန်းဂဏန်းများအားလုံးကိုစစ်ထုတ်လိုသောနံပါတ်များကိုကျွန်ုပ်တို့တွင်ထည့်သွင်းထားပါသည်။
<?php
$array = [1, 5, 8, 12, 15, 2];
$result = array_filter($array, function($value) {
return $value > 10;
});
print_r($result);
?>
ထုတ်လုပ်မှု -
Array
(
[3] => 12
[4] => 15
)
အထက်ဖော်ပြပါကုဒ်များတွင် 10 ထက်ကြီးသောနံပါတ်များကို filter လုပ်ရန် array_filter () function ကိုအသုံးပြုသည်။ သင်မြင်နိုင်သည့်အတိုင်းပြန်လည်ရောက်ရှိသည့်နေရာများတွင်စံနှုန်းများနှင့်ကိုက်ညီသောအရာများကိုသာပါ 0 င်သည်။
array_reduce () function ကို array တစ်ခုစီကိုတန်ဖိုးတစ်ခုတည်းသို့လွယ်ကူစေရန်အသုံးပြုသည်။ ၎င်းသည် array ရှိ array ရှိ calryback function ကိုမှတစ်ဆင့်လုပ်ဆောင်သည်။ ရလဒ်များကိုပြန်လည်ပတ်မှုတစ်ခုအဖြစ်စုစည်းထားသည်။ ဘုံ application တစ်ခုတွင် summing, splicing strings စသည်တို့ကိုတွက်ချက်ခြင်း, တွက်ချက်ခြင်း, တွက်ချက်ခြင်း, တွက်ချက်ခြင်း,
array_reduce(array $array, callable $callback, $initial = null): mixed
$ array : စုစည်းဖို့လိုအပ်တဲ့ခင်းကျင်း။
$ callback : parameters နှစ်ခုကိုလက်ခံရရှိသည့် callback function ကို - စုဆောင်းထားသောတန်ဖိုးနှင့်လက်ရှိခင်းကျင်းဒြပ်စင်၏တန်ဖိုး။ callback function ၏ပြန်လာတန်ဖိုးကိုနောက်ဘဝအတွက်စုဆောင်းထားသည့်တန်ဖိုးအဖြစ်အသုံးပြုလိမ့်မည်။
$ ကန ဦး : optional, ကန ဦး တန်ဖိုး, default သည် Null ဖြစ်ပါတယ်။
ကျွန်ုပ်တို့တွင်နံပါတ်များပါ 0 င်သည်။
<?php
$array = [1, 5, 8, 12, 15, 2];
$sum = array_reduce($array, function($carry, $value) {
return $carry + $value;
}, 0);
echo $sum;
?>
ထုတ်လုပ်မှု -
43
အထက်ပါကုဒ်တွင် array_reduce () function သည် element တစ်ခုစီကို array ရှိ array တွင်ထပ်ထည့်သည်။ ဤတွင် $ သယ်ဆောင်တန်ဖိုးကို စုဆောင်းတန်ဖိုးကိုကိုယ်စားပြုတယ်, $ တန်ဖိုးသည် လက်ရှိ array element ၏တန်ဖိုးကိုကိုယ်စားပြုသည်။
ကျွန်ုပ်တို့သည် Array_filter () နှင့် array_reduce () ကို သုံးနိုင်သည်။ ကျွန်ုပ်တို့တွင်ကုန်ပစ္စည်းစျေးနှုန်းများစွာရှိသည်ဟုဆိုပါစို့, ထုတ်ကုန်များကို 10 ထက်ပိုသောစျေးနှုန်းများနှင့်၎င်းတို့၏ပေါင်းလဒ်တွက်ချက်ခြင်းများပြုလုပ်လိုသည်ဆိုပါစို့။
<?php
$products = [
['name' => 'Product 1', 'price' => 5],
['name' => 'Product 2', 'price' => 15],
['name' => 'Product 3', 'price' => 8],
['name' => 'Product 4', 'price' => 20],
];
// အသုံးပြု array_filter စျေးနှုန်း filter ကိုထက်သာ။ ကြီးမြတ်သည်10ထုတ်ကုန်များ
$filteredProducts = array_filter($products, function($product) {
return $product['price'] > 10;
});
// အသုံးပြု array_reduce filtering ပြီးနောက်ထုတ်ကုန်၏စုစုပေါင်းစျေးနှုန်းတွက်ချက်
$totalPrice = array_reduce($filteredProducts, function($carry, $product) {
return $carry + $product['price'];
}, 0);
echo "Total Price: " . $totalPrice;
?>
ထုတ်လုပ်မှု -
Total Price: 35
ဒီဥပမာမှာကျွန်တော်တို့ဟာထုတ်ကုန်တွေကို 10 ထက်ပိုသောစျေးနှုန်းများဖြင့်ထုတ်ကုန်များကိုထုတ်ယူရန် array_filter () ကို အသုံးပြု. array_reduce () ကိုသုံးပါ။ ထို့နောက် array_reduce () ကို သုံးပါ။
ကျွန်ုပ်တို့ တွင် URLs အချို့ပါ 0 င်သော array တစ်ခုရှိပြီး၎င်းကို M66.net ဖြင့် domain namet ကိုအစားထိုးရန်လိုအပ်သည်ဆိုပါစို့။
<?php
$urls = [
'http://example.com/page1',
'https://www.example.com/page2',
'http://example.com/page3'
];
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
print_r($updatedUrls);
?>
ထုတ်လုပ်မှု -