PHP, array_comboine () နှင့် array_reduce () တွင် array_reduce () သည်အလွန်အစွမ်းထက်သောလုပ်ဆောင်ချက်များဖြစ်သည်။ နှစ်ခုကို arrays နှစ်ခုကိုတွဲဖက်စည်းမျဉ်းစည်းကမ်းများအဖြစ်ပေါင်းစပ်ရန်နှင့် array elecy များကိုလျှော့ချရန် (I.E. ရိုးရှင်းသို့မဟုတ်ပြောင်းလဲခြင်း) ကိုလျှော့ချရန်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအတူတကွအသုံးပြုသောအခါပိုမိုရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုအလွယ်တကူတည်ဆောက်နိုင်သည်။ ဤဆောင်းပါးတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ထားသောအသိုက်ထည့်သွင်းထားသော array သို့မဟုတ်အခြားရှုပ်ထွေးသောဒေတာတည်ဆောက်ပုံများကိုတည်ဆောက်ရန်ကျွန်ုပ်တို့ကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။
Array_ComBine () သည် php built-in function တစ်ခုဖြစ်သော PHP built-in function တစ်ခုဖြစ်သည်။ ပထမခင်းကျင်းမှု၏တန်ဖိုးနှင့်ဒုတိယခင်းကျင်းမှု၏တန်ဖိုးကိုတန်ဖိုးအဖြစ်တန်ဖိုးထားသည်။ အကယ်. Array နှစ်ခုသည်မတူညီသောအရှည်များရှိပါက function သည် မှားယွင်းသော အရာဖြစ်သည်။
$keys = ["name", "age", "gender"];
$values = ["John", 25, "male"];
$result = array_combine($keys, $values);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[name] => John
[age] => 25
[gender] => male
)
array_reduce () သည် PHP built-in function တစ်ခုဖြစ်ပြီး၎င်းသည် calterback function တစ်ခုမှတဆင့်တဖြည်းဖြည်းချင်းတန်ဖိုးထားရန်အသုံးပြုသည်။ ပုံမှန်အားဖြင့်ဤတန်ဖိုးသည်စုဆောင်းထားသောပေါင်းလဒ်သို့မဟုတ်အခြားရှုပ်ထွေးသောအဆောက်အအုံများဖြစ်နိုင်သည်။
$numbers = [1, 2, 3, 4, 5];
$sum = array_reduce($numbers, function($carry, $item) {
return $carry + $item;
});
echo $sum; // ထုတ်လုပ်ခြင်း 15
ရှုပ်ထွေးသောဒေတာတည်ဆောက်ပုံများနှင့်ကိုင်တွယ်သောအခါ array_combine () နှင့် array_reduce () သည်အထူးသဖြင့်သော့ချက်တန်ဖိုးအတွဲများပေါ်တွင် အခြေခံ. အကျဉ်းချုပ်ဖွဲ့စည်းပုံအချို့ကိုထုတ်လုပ်ရန်လိုအပ်သည့်အခါအလွန်အသုံးဝင်သည်။ ဒီလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ခြင်းဖြင့်ရှုပ်ထွေးပြီးအသိုက်ခင်းကျင်းမှုကိုကျွန်ုပ်တို့ဖန်တီးနိုင်သည်။
ကျွန်ုပ်တို့တွင်ကျောင်းသားများ၏အဆင့်အတန်းများပါ 0 င်သည့်အချက်အလက်များအနေဖြင့်ကျွန်ုပ်တို့သည်ဘာသာရပ်မှအုပ်စုတစ်ခုစီကိုစုစည်းပြီးဘာသာရပ်တစ်ခုစီအတွက်အဆင့်အတန်းအကျဉ်းချုပ်ကိုအကျဉ်းချုပ်ဖော်ပြထားသည် ။
$students = [
["name" => "John", "subject" => "Math", "score" => 85],
["name" => "Alice", "subject" => "Math", "score" => 92],
["name" => "Bob", "subject" => "Math", "score" => 78],
["name" => "John", "subject" => "Science", "score" => 88],
["name" => "Alice", "subject" => "Science", "score" => 94],
["name" => "Bob", "subject" => "Science", "score" => 79],
];
$subjects = array_reduce($students, function($carry, $item) {
// အသုံးပြု subject သော့တစ်ခု,ရမှတ်များကိုတန်ဖိုးများအဖြစ်အုပ်စုဖွဲ့သည်
if (!isset($carry[$item['subject']])) {
$carry[$item['subject']] = [];
}
$carry[$item['subject']][] = $item['score'];
return $carry;
}, []);
print_r($subjects);
ထုတ်လုပ်မှု -
Array
(
[Math] => Array
(
[0] => 85
[1] => 92
[2] => 78
)
[Science] => Array
(
[0] => 88
[1] => 94
[2] => 79
)
)
ဒီဥပမာမှာကျွန်တော်တို့ဟာ ဘာသာရပ်တွေအပေါ် အခြေခံပြီးအုပ်စုလိုက်ကျောင်းသား ရမှတ်တွေကို ပထမ ဦး ဆုံး array_reduce () ကို အရင်သုံးတယ်။ ထိုအခါကျွန်ုပ်တို့သည်အကြောင်းအရာတစ်ခုစီ၏ကျောင်းသားအမည်များနှင့်အဆင့်အတန်းကိုမြေပုံဆွဲရန် array_combine () ကို ထပ်မံ အသုံးပြု. ပိုမိုရှုပ်ထွေးသောဖွဲ့စည်းပုံကိုတည်ဆောက်ရန်။
နောက်တစ်ခုကတော့ကျောင်းသားနာမည်တစ်ခုစီအတွက်ကျောင်းသားရမှတ်တစ်ခုစီကိုထပ်မံဖြိုခွဲဖို့ array_combine () ကို ဆက်သုံးနေတယ်။
$students = [
["name" => "John", "subject" => "Math", "score" => 85],
["name" => "Alice", "subject" => "Math", "score" => 92],
["name" => "Bob", "subject" => "Math", "score" => 78],
["name" => "John", "subject" => "Science", "score" => 88],
["name" => "Alice", "subject" => "Science", "score" => 94],
["name" => "Bob", "subject" => "Science", "score" => 79],
];
$subjects = array_reduce($students, function($carry, $item) {
if (!isset($carry[$item['subject']])) {
$carry[$item['subject']] = [];
}
// 以学生的姓名သော့တစ်ခု,အဆင့်များကိုတန်ဖိုးများအဖြစ်သို့ချိတ်ဆက်ထားသည်
$carry[$item['subject']] = array_combine(
array_column($carry[$item['subject']], 'name'),
array_column($carry[$item['subject']], 'score')
);
return $carry;
}, []);
print_r($subjects);
ဤအချိန်တွင်ကျွန်ုပ်တို့သည်သက်ဆိုင်ရာသော့နှင့်တန်ဖိုးများကို array_colum () မှတဆင့်ဖြည့်ဆည်းပေးပြီးနောက်ဆုံးတွင်ကျွန်ုပ်တို့သည်ပိုမိုရှုပ်ထွေးသောအသိုက်ခင်းကျင်းမှုကိုတည်ဆောက်နိုင်ပြီးကျွန်ုပ်တို့အားဘာသာရပ်နှင့်ကျောင်းသားအမည်များအရရှာဖွေရန်နှင့်လည်ပတ်ခွင့်ပြုသည်။
ဤနည်းအားဖြင့် array_combine () နှင့် array_reduce () ကိုပေါင်းစပ်ခြင်းအားဖြင့်, ကွဲပြားခြားနားသောစည်းမျဉ်းစည်းကမ်းတွေအရအုပ်စုလိုက်အဆောက်အအုံဖွဲ့စည်းတည်ဆောက်ပုံကိုအလွယ်တကူတည်ဆောက်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်မှုများကိုအသုံးပြုရန်ပြောင်းလွယ်ပြင်လွယ်စွာအသုံးပြုခြင်းသည်အချက်အလက်အပြောင်းအလဲအတွက်အချက်အလက်များအားထိရောက်မှုနှင့်ဖတ်နိုင်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။