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
Lepaskan: 2024-12-14 11:41:11
asal
229 orang telah melayarinya

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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>';
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan