Membuat Pokok Tatasusunan Bersarang daripada Senarai Tatasusunan
Anda mempunyai pelbagai elemen dengan perhubungan ibu bapa-anak dan ingin mengubahnya menjadi pokok tatasusunan bersarang. Berikut ialah penyelesaian yang cekap:
# Create a new array indexed by parent ID $new = []; foreach ($arr as $a) { $new[$a['parentid']][] = $a; } # Start with the root node $tree = createTree($new, [$arr[0]]); # Recursive function to build the tree function createTree(&$list, $parent) { $tree = []; foreach ($parent as $l) { # If there are children, create children tree if (isset($list[$l['id']])) { $l['children'] = createTree($list, $list[$l['id']]); } # Add parent to the tree $tree[] = $l; } return $tree; }
Algoritma ini dengan cekap membina pepohon tatasusunan bersarang berdasarkan perhubungan induk-anak dalam tatasusunan asal anda.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pokok Array Bersarang dengan Cekap daripada Senarai Tatasusunan Rata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!