Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membina Susunan Berbilang Dimensi secara Rekursif daripada Hasil Pangkalan Data Rata?
Membina Tatasusunan Berbilang Dimensi daripada Keputusan Pangkalan Data Secara Rekursif
Untuk mendapatkan semula struktur data hierarki, seperti menu halaman dan kategori, daripada hasil pangkalan data yang rata , fungsi rekursif boleh digunakan. Fungsi ini akan mengambil tatasusunan asal dan menyusunnya menjadi tatasusunan bersarang berdasarkan perhubungan ibu bapa-anak.
Fungsi:
function buildTree(array $elements, $parentId = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent_id'] == $parentId) { $children = buildTree($elements, $element['id']); if ($children) { $element['children'] = $children; } $branch[] = $element; } } return $branch; }
Cara Ia Berfungsi :
Contoh Penggunaan:
Untuk menukar hasil pangkalan data contoh kepada tatasusunan berbilang dimensi menggunakan ini fungsi:
$tree = buildTree($rows);
Di mana $rows ialah tatasusunan asal hasil pangkalan data.
Output:
Tatasusunan hierarki yang terhasil akan menyerupai yang diingini keluaran:
Array ( [0] => Array ( [id] => 1 [parent_id] => 0 [title] => Parent Page [children] => Array ( [0] => Array ( [id] => 2 [parent_id] => 1 [title] => Sub Page [children] => Array ( [0] => Array ( [id] => 3 [parent_id] => 1 [title] => Sub Sub Page ) ) ) ) [children] => Array ( [0] => Array ( [id] => 4 [parent_id] => 0 [title] => Another Parent Page [children] => Array ( ) ) ) ) )
Atas ialah kandungan terperinci Bagaimana untuk Membina Susunan Berbilang Dimensi secara Rekursif daripada Hasil Pangkalan Data Rata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!