我得到了一个当前echo结果的递归函数。我希望这个函数返回结果并使用foreach内部标记循环它们。我知道我应该对每个数组使用某种迭代来获得我想要的结果,但失败了。目前我的代码看起来像这样(尝试迭代):public static function recursiveChildCategory($categories = array(), $depth = 0, $i = 0) { $ca = []; // Loop through categories foreach($categories as $key => $category){ echo str_repeat(" ", $depth); echo "<a href='".implode('/', $category['breadcrumb'])."'>{$category['title']}</a>"; echo '<br>'; $ca[$i] = [ 'id' => $category['id'], 'title' => $category['title'], ]; if(isset($category['child'])) { // Loop self::recursiveChildCategory($category['child'], $depth + 1, $i++); } } return $ca;}和传入数组到函数:Array ( [0] => Array ( [id] => 7 [title] => Deserts [slug] => deserts [child] => Array ( [0] => Array ( [id] => 8 [title] => Space [slug] => space [child] => Array ( [0] => Array ( [id] => [title] => [slug] => [child] => Array ( ) ) ) ) ) ) )目前它只返回第一级子类别“沙漠”,但不返回“空间”。作为期望的结果,我希望函数返回所有类别$depth和多个子类别的无限路径(与当前echo做的工作相同)。
1 回答
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消