Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membina Susunan Berbilang Dimensi secara Rekursif daripada Hasil Pangkalan Data Rata?
Fungsi Rekursif untuk Membina Tatasusunan Berbilang Dimensi daripada Hasil Pangkalan Data
Masalah:
Anda mencari fungsi rekursif yang mampu mengubah tatasusunan halaman dan kategori daripada hasil pangkalan data yang diratakan kepada tatasusunan bersarang dengan perhubungan hierarki berstruktur.
Penyelesaian:
Penyelesaian yang disediakan menawarkan pendekatan yang mudah dan generik:
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; }
Penjelasan :
Algoritma beroperasi sebagai berikut:
Pelaksanaan Awal (ParentId = 0):
Pelaksanaan Rekursif (ParentId != 0):
Membina Hierarki:
Keputusan Pulangan:
Dengan menggunakan fungsi ini pada hasil pangkalan data anda, anda memperoleh susunan yang teratur tatasusunan dengan perhubungan hierarki berbutir, seperti yang ditunjukkan oleh output yang anda inginkan. Pendekatan ini serba boleh dan boleh digunakan pada kedua-dua halaman dan kategori.
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!