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!