php无限级分类查找所有子节点
在PHP中,可以使用递归来查找无限级分类的所有子节点。下面是一个示例代码:
```php
function findAllChildren($category, $parentId, &$result) {
foreach ($category as $cat) {
if ($cat['parent_id'] == $parentId) {
$result[] = $cat;
findAllChildren($category, $cat['id'], $result);
}
}
}
// 假设$category是一个包含所有分类信息的数组
$category = [
['id' => 1, 'parent_id' => 0, 'name' => '分类1'],
['id' => 2, 'parent_id' => 0, 'name' => '分类2'],
['id' => 3, 'parent_id' => 1, 'name' => '分类1-1'],
['id' => 4, 'parent_id' => 1, 'name' => '分类1-2'],
['id' => 5, 'parent_id' => 3, 'name' => '分类1-1-1'],
['id' => 6, 'parent_id' => 3, 'name' => '分类1-1-2'],
];
$result = [];
findAllChildren($category, 1, $result); // 查找id为1的分类的所有子节点
// 输出结果
foreach ($result as $cat) {
echo $cat['name'] . '
';
}
```
以上代码首先定义了一个`findAllChildren`函数,该函数接收三个参数:`$category`是包含所有分类信息的数组,`$parentId`是要查找子节点的分类的父节点的id,`$result`是存储查找结果的数组。
函数内部使用foreach循环遍历所有分类信息,如果某个分类的`parent_id`等于要查找的父节点id,则将该分类添加到结果数组中,并递归调用`findAllChildren`函数查找该分类的子节点。
最后,使用示例数据调用`findAllChildren`函数,在结果数组中查找id为1的分类的所有子节点,并输出结果。
注意:以上代码仅供参考,实际使用时,你需要根据自己的分类数据结构进行相应的修改。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341