လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP List မှ PHP စာရင်းကိုအကောင်အထည်ဖော်ခြင်းနည်းလမ်း | ဒေတာကူးပြောင်းခြင်းနှင့်စီမံခန့်ခွဲမှုစွမ်းရည်

PHP List မှ PHP စာရင်းကိုအကောင်အထည်ဖော်ခြင်းနည်းလမ်း | ဒေတာကူးပြောင်းခြင်းနှင့်စီမံခန့်ခွဲမှုစွမ်းရည်

gitbox 2025-07-27

PHP List မှ PHP စာရင်းကိုအကောင်အထည်ဖော်ခြင်းနည်းလမ်း

ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်း Flat Data ဖွဲ့စည်းပုံကိုသစ်ပင်များတည်ဆောက်ခြင်းများသို့အပင်ဖွဲ့စည်းတည်ဆောက်ပုံများအဖြစ်သို့ပြောင်းလဲရန်လိုအပ်သည်။

သစ်ပင်ဖွဲ့စည်းပုံ၏အခြေခံအယူအဆ

သစ်ပင်ဖွဲ့စည်းပုံသည် root node တစ်ခုနှင့်၎င်း၏လက်အောက်ငယ်သားမျိုးစေ့များပါဝင်သောအဆင့်ဆင့်အချက်အလက်ပုံစံဖြစ်သည်။ ကလေးတစ် ဦး စီသည်၎င်း၏ကိုယ်ပိုင်ကလေး node ကိုပါရှိနိုင်သည်။ သစ်ပင်အဆောက်အအုံများသည်ကုမ္ပဏီအဖွဲ့အစည်းဖွဲ့စည်းပုံ, ထုတ်ကုန်ခွဲခြားခြင်းစသည့်အဆင့်ဆင့်ဆက်ဆံရေးကိုကိုယ်စားပြုရန်အလွန်သင့်လျော်သည်။

ဒေတာကိုပြင်ဆင်ပါ

ပြားချပ်ချပ်စာရင်းကိုသစ်ပင်ဖွဲ့စည်းပုံတစ်ခုသို့ပြောင်းလဲရန် node ကိုနှင့်၎င်း၏မိဘ node နှင့်ပတ်သက်သောအချက်အလက်များပါ 0 င်သည့်ဒေတာစာရင်းကိုပထမဆုံးလိုအပ်သည်။ ဥပမာအားဖြင့်အောက်ပါသည် Node နှင့်မိဘ node အကြားဆက်နွယ်မှုပါ 0 င်သည့်ဥပမာအချက်အလက်တစ်ခုမှာ -

 // နမူနာဒေတာ
$list = [
    ['id' => 1, 'name' => 'Roode', 'pid' => 0],
    ['id' => 2, 'name' => 'ကလေးများ node များ1', 'pid' => 1],
    ['id' => 3, 'name' => 'ကလေးများ node များ2', 'pid' => 1],
    ['id' => 4, 'name' => 'ကလေးများ node များ1.1', 'pid' => 2],
    ['id' => 5, 'name' => 'ကလေးများ node များ1.2', 'pid' => 2],
];

Php function ကို tree ဖွဲ့စည်းပုံကိုစာရင်းပြုစု

ထို့နောက်လေယာဉ်အချက်အလက်များကိုသစ်ပင်များဖွဲ့စည်းပုံအဖြစ်ပြောင်းလဲစေသော PHP function ကိုကျွန်ုပ်တို့ရေးပါမည်။ ဤလုပ်ဆောင်ချက်၏အဓိကယုတ္တိဗေဒသည် Node ID နှင့်မိဘ node ID ကို သုံး. ဒေတာများကို ဖြတ်. အဆင့်ဆင့်ဆက်ဆံရေးကိုတည်ဆောက်ရန်ဖြစ်သည်။

 function listToTree($list) {
    $tree = [];
    $references = [];
    // node တစ်ခုချင်းစီအတွက်ကိုးကားချက်ကိုပြင်ဆင်ပါ
    foreach ($list as $element) {
        $references[$element['id']] = $element;
        $references[$element['id']]['children'] = [];
    }
    // သစ်ပင်ဖွဲ့စည်းပုံ spanning
    foreach ($list as $element) {
        if ($element['pid'] == 0) {
            // Roode
            $tree[] = &$references[$element['id']];
        } else {
            // ကလေးများ node များ
            $references[$element['pid']]['children'][] = &$references[$element['id']];
        }
    }
    return $tree;
}

// ခေါ်ဆိုမှုကိုခေါ်ဆိုမှု
$tree = listToTree($list);
print_r($tree);

ကုဒ်ခွဲခြမ်းစိတ်ဖြာခြင်း

အထက်ပါကုဒ်တွင် Listtotree ဟုခေါ်သော function တစ်ခုကိုသတ်မှတ်သည်။ function တစ်ခုအတွင်း၌ node တစ်ခုစီနှင့်၎င်း၏ကလေး node များအားလုံးကိုကွင်းဆက်မှတဆင့်ဆက်နွယ်ပြီးသစ်ပင်ဖွဲ့စည်းပုံမှာနောက်ဆုံးတွင်ဆောက်လုပ်ခဲ့သည်။

free free free

ထုတ်လုပ်ထားသောသစ်ပင်ဖွဲ့စည်းပုံကိုအလွယ်တကူကြည့်ရှုရန် Print_r function ကိုသုံးပါ။ ၎င်းကိုအမှန်တကယ်လိုအပ်ချက်များနှင့်အညီဖွဲ့စည်းပုံကိုအမှန်တကယ်လိုအပ်သူများ,

အကျဉ်းချုပ်

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

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