လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_column နှင့် array_reduce မှတဆင့်ရှုပ်ထွေးသောခင်းကျင်းစာရင်းအင်းများကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ထိရောက်သောအချက်အလက်အပြောင်းအလဲများကိုပြီးမြောက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အတူတကွအသုံးပြုသနည်း။

array_column နှင့် array_reduce မှတဆင့်ရှုပ်ထွေးသောခင်းကျင်းစာရင်းအင်းများကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ ထိရောက်သောအချက်အလက်အပြောင်းအလဲများကိုပြီးမြောက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အတူတကွအသုံးပြုသနည်း။

M66 2025-04-28

PHP တွင် Array_Column နှင့် Array_reduce သည်အလွန်အသုံးဝင်သောခင်းကျင်းမှုအသစ်များပြုလုပ်သောလုပ်ဆောင်ချက်များဖြစ်သည်။ ဤရွေ့ကားလုပ်ဆောင်ချက်နှစ်ခုပေါင်းစပ်ခြင်းအားဖြင့်ရှုပ်ထွေးသောဒေတာစာရင်းအင်းနှင့်အပြောင်းအလဲနဲ့ထိရောက်စွာသယ်ဆောင်နိုင်ပါတယ်။ ပိုမိုထိရောက်သောခင်းကျင်းစစ်ဆင်ရေးလုပ်ငန်းများနှင့်အချက်အလက်အပြောင်းအလဲများကိုဖြည့်စွက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ရန်ဤဆောင်းပါးသည်နက်ရှိုင်းစွာလေ့လာလိမ့်မည်။

array_column function ကိုမိတ်ဆက်

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 ကိုမိတ်ဆက်

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 ဖြစ်ပါတယ်။

ရှုပ်ထွေးသောစာရင်းအင်းများကိုဖြည့်စွက်ရန် Array_column နှင့် array_reduce ကိုပေါင်းစပ်ခြင်း

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအထူးသဖြင့်ရှုပ်ထွေးသောစာရင်းအင်းများသို့မဟုတ်အကျဉ်းချုပ်အရေးယူမှုများအတွက်ရှုပ်ထွေးသောစာရင်းအင်းများသို့မဟုတ်အကျဉ်းချုပ်လုပ်ငန်းများလိုအပ်ပါကပေါင်းစပ်အသုံးပြုလေ့ရှိသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်အရောင်းမှတ်တမ်းများပါ 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
)

URL processing နှင့်ပေါင်းစပ်ခြင်း (ဥပမာပြုပြင်မွမ်းမံခြင်း)

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 ကို သုံးနိုင်သည်။