写一个PHP递归函数 查询每一级的结果 最后返回一个数组
时间: 2024-02-06 20:11:50 浏览: 33
好的,下面是一个简单的 PHP 递归函数示例,用于查询每一级结果,并返回一个包含所有结果的数组。
```php
function getResults($data, $level = 1) {
$results = array();
foreach ($data as $item) {
if ($item['level'] == $level) {
$results[] = $item['result'];
} elseif ($item['level'] > $level) {
$subResults = getResults($item['subItems'], $level+1);
$results = array_merge($results, $subResults);
}
}
return $results;
}
```
这个函数接受一个包含数据项、级别和子项的数组和一个标题级别作为参数,并使用递归查询每一级结果。它首先遍历数组中的所有项,如果项的级别等于指定的级别,则将该项的结果添加到结果数组中。如果项的级别大于指定级别,则递归调用自身来查询它的子项的结果,并将它们合并到结果数组中。最后,它返回包含所有级别结果的数组。
相关问题
写一个PHP递归函数 查询每一级的标题 返回一个每一级的标题数组
好的,下面是一个简单的 PHP 递归函数示例,用于查询每一级的标题,并返回一个包含每一级标题的数组。
```php
function getHeadings($html, $level = 1) {
$dom = new DOMDocument();
@$dom->loadHTML($html);
$headings = array();
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//h' . $level);
foreach ($nodes as $node) {
$headings[] = $node->nodeValue;
$headings = array_merge($headings, getHeadings($html, $level+1));
}
return $headings;
}
```
这个函数接受一个 HTML 字符串和标题级别作为参数,并使用递归来查询每一级标题。它使用 DOM 和 XPath 来查找所有给定级别的标题节点,并将它们的文本值添加到一个数组中。然后它递归调用自身,以查询下一级标题,并将结果合并到数组中。最后,它返回包含所有级别标题的数组。
给我写一段php分类递归代码
好的,以下是一段PHP分类递归代码:
```
function buildTree($categories, $parent_id = 0) {
$tree = array();
foreach ($categories as $category) {
if ($category['parent_id'] == $parent_id) {
$children = buildTree($categories, $category['id']);
if ($children) {
$category['children'] = $children;
}
$tree[] = $category;
}
}
return $tree;
}
```
这段代码可以将一个分类列表按照父子关系递归构建成一个树形结构。其中,$categories 是一个包含所有分类信息的数组,$parent_id 是当前分类的父分类 ID,初始值为 0。函数会遍历 $categories 数组,找到所有父分类 ID 为 $parent_id 的分类,然后递归调用自身,将子分类加入到当前分类的 children 属性中,最后返回构建好的树形结构。