PHP တွင် Array_Column နှင့် Array_reduce သည်အလွန်အသုံးဝင်သောခင်းကျင်းမှုအသစ်များပြုလုပ်သောလုပ်ဆောင်ချက်များဖြစ်သည်။ ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုပေါင်းစပ်ခြင်းအားဖြင့်ရှုပ်ထွေးသောဒေတာစာရင်းအင်းနှင့်အပြောင်းအလဲနဲ့ထိရောက်စွာသယ်ဆောင်နိုင်ပါတယ်။ ပိုမိုထိရောက်သောခင်းကျင်းစစ်ဆင်ရေးလုပ်ငန်းများနှင့်အချက်အလက်အပြောင်းအလဲများကိုဖြည့်စွက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ရန်ဤဆောင်းပါးသည်နက်ရှိုင်းစွာလေ့လာလိမ့်မည်။
array_column function ကို multidimensional array မှသတ်မှတ်ထားသောကော်လံကိုထုတ်ယူပြီးကော်လံ၏အစိတ်အပိုင်းများပါ 0 င်သောခင်းကျင်းမှုကိုပြန်ပေးရန်အသုံးပြုသည်။ ၎င်း၏အသုံးများသောအသုံးပြုမှုမှာ Associative Arraies များပါ 0 င်သောကြီးမားသောခင်းကျင်းမှုတစ်ခုမှလယ်ကွင်း၏တန်ဖိုးကိုထုတ်ယူရန်ဖြစ်သည်။
function ရှေ့ပြေးပုံစံ:
array_column(array $array, mixed $column_key, mixed $index_key = null): array
Array : input multi-dimensional array ။
Column_Key : ထုတ်ယူမည့်ကော်လံအမည်ကိုသတ်မှတ်သည် (ခင်းကျင်းခြင်းသို့မဟုတ် integer index ၏သော့အမည်ရှိနိုင်သည်)
Index_Key (optional) - ရလဒ်ခင်းကျင်းမှုကိုပြန်လည်ရရှိစေရန်အညွှန်းကိန်းကိုသတ်မှတ်သည်။ ချန်လှပ်ပါကပြန်လာသောခင်းကျင်းသည်မူလခင်းကျင်းမှု၏သော့များကိုသုံးလိမ့်မည်။
array_reduce function သည် PHP တွင်အဆင့်မြင့်သော array function တစ်ခုဖြစ်သည်။ ၎င်းကိုများသောအားဖြင့်တန်ဖိုးများကို array တစ်ခုအတွင်းတန်ဖိုးတစ်ခုထဲသို့စုစည်းရန်အသုံးပြုသည်။
function ရှေ့ပြေးပုံစံ:
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Array : input array ။
Callback : ခင်းကျင်းမှု၏အစိတ်အပိုင်းတစ်ခုစီတွင်အချို့သောခွဲစိတ်မှုမျိုးစုံလုပ်ဆောင်မည့်ခေါ်ဆိုမှု function ကို။
ကန ဦး (optional): စုဆောင်းထားသောကန ဦး တန်ဖိုး, ပုံမှန်အားဖြင့် null ။
callback function ကို၏လက်မှတ်သည်များသောအားဖြင့်ဤသို့ဖြစ်သည်။
function($carry, $item) {
// စစ်ဆင်ရေးယုတ္တိဗေဒ
return $carry;
}
$ သယ်ယူပို့ဆောင်ရေး သည်စုဆောင်းထားသောတန်ဖိုးနှင့် $ item ကို $ array element ဖြစ်ပါတယ်။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအထူးသဖြင့်ရှုပ်ထွေးသောစာရင်းအင်းများသို့မဟုတ်အကျဉ်းချုပ်အရေးယူမှုများအတွက်ရှုပ်ထွေးသောစာရင်းအင်းများသို့မဟုတ်အကျဉ်းချုပ်လုပ်ငန်းများလိုအပ်ပါကပေါင်းစပ်အသုံးပြုလေ့ရှိသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်အရောင်းမှတ်တမ်းများပါ 0 င်သောအရောင်းအ 0 ယ်တစ်ခုစီရှိသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်ရောင်းအားပမာဏကို array_column မှတဆင့်ထုတ်ယူနိုင်ပြီး၎င်းကို array_reduce မှတဆင့်ငွေပမာဏကိုပေါင်းထည့်နိုင်သည်။
နမူနာဒေတာ:
$sales = [
['date' => '2025-04-01', 'product' => 'Phone', 'amount' => 200],
['date' => '2025-04-02', 'product' => 'Laptop', 'amount' => 1500],
['date' => '2025-04-03', 'product' => 'Tablet', 'amount' => 600],
['date' => '2025-04-01', 'product' => 'Phone', 'amount' => 250],
['date' => '2025-04-02', 'product' => 'Laptop', 'amount' => 1700],
// နောက်ထပ်အချက်အလက်များ...
];
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ရောင်းအားပမာဏအားလုံးကိုထုတ်ယူရန် array_column ကို သုံးနိုင်သည်။
$amounts = array_column($sales, 'amount');
ထို့နောက် array_reduce ကို အသုံးပြု. အရောင်းငွေပမာဏကိုပေါင်းထည့်ပါ။
$totalSales = array_reduce($amounts, function($carry, $item) {
return $carry + $item;
}, 0);
echo "Total Sales: " . $totalSales;
ဤဥပမာတွင် array_colum သည် အရောင်းငွေပမာဏကော်လံများအားလုံးကိုထုတ်ယူသည်။ Array_reduce သည် ဤပမာဏကိုစုဆောင်းပြီးစုစုပေါင်းရောင်းအားကိုတွက်ချက်သည်။
နေ့စွဲဖြင့်စုစုပေါင်းရောင်းအားကိုရေတွက်ခြင်းကဲ့သို့သောရှုပ်ထွေးသောစာရင်းအင်းများများလိုအပ်ပါက array_column ကို ပေါင်းစပ်ခြင်းနှင့် array_reduce ကို ပိုမိုအားသာချက်များရှိလိမ့်မည်။ ပထမ ဦး စွာကျွန်ုပ်တို့သည်ရက်စွဲနှင့်အရောင်းငွေပမာဏကော်လံကိုထုတ်ယူရန် array_colnum ကို သုံးနိုင်သည်။ ထို့နောက်စုစုပေါင်းအရောင်းအ 0 ယ်ကို ရက်စွဲ ဖြင့်စုစည်းထားသည်။
အရောင်းဥပမာကိုရက်စွဲဖြင့် -
// ရက်စွဲနှင့်ငွေပမာဏကိုထုတ်ယူပါ
$dates = array_column($sales, 'date');
$amounts = array_column($sales, 'amount');
// ရက်စွဲနှင့်ပမာဏကိုပေါင်းစည်းပါ
$salesData = array_map(function($date, $amount) {
return ['date' => $date, 'amount' => $amount];
}, $dates, $amounts);
// ရက်စွဲအားဖြင့်အရောင်း
$dailySales = array_reduce($salesData, function($carry, $item) {
$carry[$item['date']] = isset($carry[$item['date']]) ? $carry[$item['date']] + $item['amount'] : $item['amount'];
return $carry;
}, []);
echo "Daily Sales:\n";
print_r($dailySales);
ဤကုဒ်သည်ရက်စွဲအားဖြင့်စုစည်းရောင်းချမှုရလဒ်များကိုထုတ်ပေးသည်။ ဥပမာအားဖြင့်:
Daily Sales:
Array
(
[2025-04-01] => 450
[2025-04-02] => 3200
[2025-04-03] => 600
)
Array တွင် URL အချက်အလက်များပါ 0 င်ပါက URL ကို array တစ်ခုပြုလုပ်ပါက URL ကို Extract လုပ်ရန်နှင့်လိုအပ်သောအဖြစ်အစားထိုးရန် array_column ကို သုံးနိုင်သည်။ ဤတွင် URL ရှိ domain name ကို M66.net နှင့်မည်သို့အစားထိုးရမည်ကိုဥပမာတစ်ခုရှိသည်။
ကျွန်ုပ်တို့တွင်အောက်ပါအချက်အလက်များရှိသည်ဆိုပါစို့။
$urls = [
['id' => 1, 'url' => 'https://example.com/page1'],
['id' => 2, 'url' => 'https://anotherexample.com/page2'],
['id' => 3, 'url' => 'https://example.com/page3'],
];
URL ကို extract လုပ်ရန်နှင့် domain name ကိုအစားထိုးရန် Array_column ကို သုံးနိုင်သည်။