Fungsi pengelompokan tatasusunan PHP boleh digunakan untuk mencipta struktur hierarki dengan mengumpulkan elemen tatasusunan mengikut kekunci yang ditentukan, menjana tatasusunan dengan berbilang peringkat bersarang. Contoh kod menggunakan array_group_by() untuk mengumpulkan data dan kemudian menukarnya menjadi hierarki menggunakan fungsi rekursif createHierarchy(). Fungsi ini berulang melalui hasil terkumpul, mencipta sub-peringkat berdasarkan parent_id, dan akhirnya mengembalikan tatasusunan bersarang dengan struktur hierarki yang bagus.
Aplikasi fungsi pengelompokan tatasusunan PHP dalam mewujudkan struktur hierarki
Fungsi kumpulan tatasusunan amat berguna dalam menangani senario di mana hierarki data perlu dikekalkan. Dalam PHP, fungsi array_group_by
boleh mencipta tatasusunan bersarang dengan berbilang peringkat dengan mengumpulkan elemen dalam tatasusunan berdasarkan kunci yang ditentukan. Contoh Kod Akhirnya, ia mengembalikan tatasusunan PHP bersarang dengan struktur hierarki yang bagus. array_group_by
函数可以将数组中的元素根据指定键进行分组,从而创建具有多个级别的嵌套数组。
代码示例
<?php // 有一个包含 id 和 parent_id 的表数据 $tableData = [ ['id' => 1, 'parent_id' => null], ['id' => 2, 'parent_id' => 1], ['id' => 3, 'parent_id' => 2], ['id' => 4, 'parent_id' => 1], ['id' => 5, 'parent_id' => 4], ]; // 根据 parent_id 对表数据进行分组 $groupedData = array_group_by($tableData, 'parent_id'); // 递归函数用于将分组结果转换为层级结构 function createHierarchy($data, $parentId = null) { $result = []; foreach ($data as $id => $values) { if ($id == $parentId) { foreach ($values as $value) { $result[] = [ 'id' => $value['id'], 'value' => $value['value'], 'children' => createHierarchy($data, $value['id']), ]; } return $result; } } } // 将分组数据转换为层级结构 $hierarchy = createHierarchy($groupedData, null); // 打印层级结构 print_r($hierarchy);
输出结果
Array ( [0] => Array ( [id] => 1 [value] => 1 [children] => Array ( [0] => Array ( [id] => 2 [value] => 2 [children] => Array ( [0] => Array ( [id] => 3 [value] => 3 [children] => Array ( ) ) ) ) [1] => Array ( [id] => 4 [value] => 4 [children] => Array ( [0] => Array ( [id] => 5 [value] => 5 [children] => Array ( ) ) ) ) ) ) )
在这个示例中,createHierarchy
Atas ialah kandungan terperinci Penggunaan fungsi pengelompokan tatasusunan PHP dalam mencipta struktur hierarki. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!