下面是一个基于递归的PHP方法,用于处理具有pid和level属性的二维数组:

function buildTree($array, $parentId = 0, $level = 0) {
    $tree = [];
    
    foreach ($array as $item) {
        if ($item['pid'] == $parentId) {
            $item['level'] = $level;
            $item['children'] = buildTree($array, $item['id'], $level + 1);
            $tree[] = $item;
        }
    }
    
    return $tree;
}

使用方法:

// 示例数据
$data = [
    ['id' => 1, 'pid' => 0],
    ['id' => 2, 'pid' => 1],
    ['id' => 3, 'pid' => 1],
    ['id' => 4, 'pid' => 2],
    ['id' => 5, 'pid' => 2],
    ['id' => 6, 'pid' => 3],
    ['id' => 7, 'pid' => 3],
];

$tree = buildTree($data);

// 输出结果
print_r($tree);

这个方法会根据数组中的pid和level属性构建一个树形结构。它会迭代数组中的每个元素,如果元素的pid等于指定的父级ID,就将它添加到树中,并递归调用自身来查找子元素。最终返回一个树形结构的数组。

希望对你有所帮助!

PHP 递归方法构建二维数组树形结构

原文地址: http://www.cveoy.top/t/topic/o4vu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录