လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PIVOT ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန် PHP ၏ Array_column function ကိုမည်သို့အသုံးပြုရမည်နည်း။

PIVOT ပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန် PHP ၏ Array_column function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-05-11

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အချက်အလက်များကိုမဏ် poltoult ်ဌာန်းချက်များကိုပြောင်းလဲရန်လိုအပ်သည်။ Pivot စားပွဲများကိုမကြာခဏခွဲခြမ်းစိတ်ဖြာရန်ပိုမိုလွယ်ကူစေရန်အချက်အလက်များကိုပြန်လည်စီစဉ်ရန်, အနှစ်ချုပ်ခြင်း, တွက်ချက်ခြင်း, PHP တွင်ကျွန်ုပ်တို့သည် built-in function array_column ကို အသုံးပြု. အချက်အလက်များကိုပြောင်းလဲခြင်းပုံစံပြောင်းလဲခြင်းကိုအကောင်အထည်ဖော်ရန်အတွက်အထူးသဖြင့်ရှုထောင့်နှစ်ခုပြုလုပ်ရန်စီစဉ်ထားသည့်အခါဖြစ်သည်။

1 ။ မဏ် sefore ်ဌာန်းချက်ကိုနားလည်ပါ

မဏ် provot ပြောင်းလဲခြင်း၏အဓိကရည်ရွယ်ချက်မှာနှစ်ဖက်မြင်ကွင်းခင်းကျင်းမှုမှအချက်အလက်များကိုပြန်လည်စီစဉ်ရန်ဖြစ်သည်။ ဤပြောင်းလဲခြင်းသည်အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အလွန်သင့်လျော်သည်။

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

PHP ၏ Array_column function သည်သင့်အား Multidimensional Array မှသီးခြားကော်လံတစ်ခုကိုထုတ်ယူရန်ခွင့်ပြုသည်။ ဤလုပ်ဆောင်ချက်သည်လိုအပ်သောကော်လံများကိုမဏ် pold ားအတွက်လိုအပ်သောကော်လံများကိုထုတ်ယူရန်အလွန်သင့်လျော်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 array_column(array $array, mixed $column_key, mixed $index_key = null): array
  • $ array : input multi-dimensional array ။

  • $ column_key : ထုတ်ယူခံရဖို့လိုအပ်တဲ့ကော်လံအမည်သို့မဟုတ်ကော်လံအညွှန်းကိန်း။

  • $ index_key : optional parameter သည်ရလဒ်ခင်းကျင်းအဖြစ်သတ်မှတ်ရန်အတွက်သော့ချက်အမည်ကိုသတ်မှတ်ခြင်း။

3 ။ ဥပမာ - မဏ် paint လုပ်ဖို့ array_colnum ကို သုံးပါ

ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောအရောင်းသမားများနှင့်သူတို့၏ရောင်းအားပါ 0 င်သည့်အရောင်းဒေတာစားပွဲကိုကိုယ်စားပြုသောနှစ်ဖက်မြင်တွေ့နိုင်သောခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။

 $data = [
    ['salesperson' => 'Alice', 'region' => 'North', 'sales' => 1500],
    ['salesperson' => 'Bob', 'region' => 'South', 'sales' => 2000],
    ['salesperson' => 'Alice', 'region' => 'East', 'sales' => 1200],
    ['salesperson' => 'Bob', 'region' => 'West', 'sales' => 1800],
    ['salesperson' => 'Alice', 'region' => 'South', 'sales' => 2500],
];

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

4 ။ အဆင့် 1 - အရောင်း 0 န်ထမ်းများနှင့်ရောင်းအားကိုထုတ်ယူပါ

ပထမ ဦး စွာ SARRESPESSONS ( အရောင်းအရောင်း ) နှင့်၎င်းတို့၏ရောင်းအား ( အရောင်း ) ကို extract လုပ်ရန် array_column ကို အသုံးပြုသည်။

 $salespeople = array_column($data, 'salesperson');
$sales = array_column($data, 'sales');

5 ။ အဆင့် 2 - ဒေတာကိုပြန်လည်ဖွဲ့စည်းပါ

ထို့နောက်ကျွန်ုပ်တို့သည်အရောင်း 0 န်ထမ်းများမှရောင်းအားကိုစက်ဘီးစီးခြင်းဖြင့်အနှစ်ချုပ်ချနိုင်သည်။

 $pivotedData = [];
foreach ($data as $row) {
    $salesperson = $row['salesperson'];
    $region = $row['region'];
    $sales = $row['sales'];
    
    // ဒီအရောင်းသင့်သည်ရလဒ်များအတွက်မဟုတ်ပါဘူးလျှင်,xart ပြုလုပ်လုပ်
    if (!isset($pivotedData[$salesperson])) {
        $pivotedData[$salesperson] = [];
    }
    
    // Salesperson ၏စံချိန်သို့ရောင်းအားကိုဖြည့်စွက်ပါ
    $pivotedData[$salesperson][$region] = $sales;
}

print_r($pivotedData);

6 ။ output ရလဒ်

အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက်သင် Sanesterson နှင့် area ရိယာများမှဒေတာရှုထောင့်ကိုရရှိမည်ဖြစ်သည်။

 Array
(
    [Alice] => Array
        (
            [North] => 1500
            [East] => 1200
            [South] => 2500
        )
    [Bob] => Array
        (
            [South] => 2000
            [West] => 1800
        )
)

7 ။ အဆင့် 3: URL အစားထိုးခြင်းလုပ်ငန်းစဉ်

အချို့သောအခြေအနေများတွင် URL များကိုကျွန်ုပ်တို့လုပ်ဆောင်ရန်လိုအပ်နိုင်သည်။ ကျွန်ုပ်တို့တွင် URL များပါ 0 င်သည့်အချို့သောအကွက်များပါ 0 င်သည့်အောက်ပါခင်းကျင်းမှုများရှိသည်ဆိုပါစို့

 $dataWithUrls = [
    ['name' => 'Alice', 'website' => 'http://www.example.com'],
    ['name' => 'Bob', 'website' => 'http://www.test.com'],
];

foreach ($dataWithUrls as &$row) {
    $url = parse_url($row['website']);
    $row['website'] = str_replace($url['host'], 'm66.net', $row['website']);
}

print_r($dataWithUrls);

ရလဒ်ရလဒ် -