Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membina Struktur Pokok Hierarki dalam PHP daripada Hubungan Ibu Bapa-Anak?

Bagaimanakah Saya Boleh Membina Struktur Pokok Hierarki dalam PHP daripada Hubungan Ibu Bapa-Anak?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-14 11:41:11236semak imbas

How Can I Build a Hierarchical Tree Structure in PHP from Parent-Child Relationships?

Penciptaan Struktur Pokok Hierarki daripada Perhubungan Ibu Bapa-Anak

Membina struktur pokok hierarki daripada perhubungan ibu bapa-anak ialah tugas biasa dalam pengaturcaraan. Untuk mencapai matlamat ini, pendekatan rekursif boleh digunakan, menyusun data secara berkesan ke dalam unit bersarang.

Dalam PHP, menukar satu siri pasangan induk-anak kepada pepohon hierarki memerlukan dua fungsi utama: menghurai dan mencetak. Fungsi penghuraian secara sistematik merentasi pasangan anak-ibu bapa untuk membina struktur data hierarki. Berikutan ini, fungsi pencetakan menukar struktur ini kepada satu siri senarai tidak tertib HTML bersarang, dengan setiap item senarai mewakili anak.

Sebagai contoh, pertimbangkan pasangan ibu bapa-anak berikut:

Child : Parent
H : G
F : G
G : D
E : D
A : E
B : C
C : E
D : NULL

Untuk menghuraikan data ini, kami mentakrifkan fungsi parseTree:

function parseTree($tree, $root = null) {
    $return = array();
    foreach($tree as $child => $parent) {
        if($parent == $root) {
            unset($tree[$child]);
            $return[] = array(
                'name' => $child,
                'children' => parseTree($tree, $child)
            );
        }
    }
    return empty($return) ? null : $return;
}

Seterusnya, kami mentakrifkan printTree berfungsi untuk menukar hierarki yang dihuraikan ke dalam senarai HTML tidak tersusun:

function printTree($tree) {
    if(!is_null($tree) && count($tree) > 0) {
        echo '<ul>';
        foreach($tree as $node) {
            echo '<li>'.$node['name'];
            printTree($node['children']);
            echo '</li>';
        }
        echo '</ul>';
    }
}

Dengan menggabungkan kedua-dua fungsi ini, kami boleh berjaya menukar pasangan anak-ibu bapa kepada struktur pokok hierarki.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membina Struktur Pokok Hierarki dalam PHP daripada Hubungan Ibu Bapa-Anak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn