Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatasusunan php kepada struktur pokok

Bagaimana untuk menukar tatasusunan php kepada struktur pokok

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2023-06-07 09:29:031288semak imbas

Cara menukar tatasusunan PHP kepada struktur pokok: 1. Cipta fail sampel PHP 2. Bina fungsi dengan sintaks "function buildTree(array $elements, $parentId = 0)" Parameter 1; Array ditukar, parameter 2 ialah nod akar yang ditentukan 3. Tentukan tatasusunan $branch dalam fungsi untuk menyimpan struktur pokok dan melintasinya 4. Selepas melintasi, tambahkan elemen yang diubah suai pada tatasusunan $branch dan kembalikan struktur pokok Hanya gunakan tatasusunan struktur $branch.

Bagaimana untuk menukar tatasusunan php kepada struktur pokok

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi php8.1.3, komputer Dell G3.

Tukar tatasusunan PHP kepada struktur pokok, yang boleh dicapai melalui kaedah rekursif.

Berikut ialah contoh fungsi PHP:

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;
}

Dalam fungsi ini, parameter $elements ialah tatasusunan yang hendak ditukar dan $parentId ialah nod akar yang ditentukan ( lalai ialah 0). Fungsi pertama mentakrifkan tatasusunan kosong bernama $branch untuk menyimpan dan melintasi struktur pokok.

Dalam setiap gelung, fungsi menyemak sama ada elemen semasa mempunyai ID induk yang ditentukan, dan jika ya, ia adalah anak kepada nod semasa. Ia kemudian memanggil fungsi buildTree()nya sendiri untuk menambah nod anak dan memberikan nod anak kepada pembolehubah $children. Fungsi ini terus menyemak sama ada $children kosong, dan jika tidak, berikan nod anak kepada kunci 'children' bagi elemen semasa. Akhir sekali, fungsi menambah elemen yang diubah suai pada tatasusunan $branch.

Apabila semua elemen telah diproses, fungsi akan mengembalikan tatasusunan struktur pokok $branch.

Andaikan kita mempunyai data berikut:

$elements = [
    ['id' => 1, 'name' => 'Parent 1', 'parent_id' => 0],
    ['id' => 2, 'name' => 'Child 1', 'parent_id' => 1],
    ['id' => 3, 'name' => 'Grandchild 1', 'parent_id' => 2],
    ['id' => 4, 'name' => 'Grandchild 2', 'parent_id' => 2],
    ['id' => 5, 'name' => 'Parent 2', 'parent_id' => 0],
];

Fungsi ini boleh dipanggil untuk menjana struktur pokok.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php kepada struktur pokok. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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