Home > Article > Backend Development > Use of PHP array grouping functions in creating hierarchical structures
PHP array grouping functions can be used to create hierarchical structures by grouping array elements according to specified keys, resulting in arrays with multiple levels of nesting. The code example uses array_group_by() to group data and then converts it into a hierarchy using the recursive function createHierarchy(). This function iterates through the grouped results, creates sub-levels based on parent_id, and ultimately returns a nested array with a nice hierarchical structure.
Application of PHP array grouping function in creating hierarchical structure
Array grouping function in processing scenarios where data hierarchy needs to be maintained Very useful in . In PHP, the array_group_by
function can create nested arrays with multiple levels by grouping elements in an array based on a specified key.
Code example
<?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);
Output result
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 ( ) ) ) ) ) ) )
In this example, the createHierarchy
function is used The recursive algorithm traverses the grouped data and creates sub-levels based on parent_id. Ultimately, it returns a nested PHP array with a nice hierarchical structure.
The above is the detailed content of Use of PHP array grouping functions in creating hierarchical structures. For more information, please follow other related articles on the PHP Chinese website!