tp6 递归函数使用

public function findLastClass($id)
{
$classInfo = Db::name('class')->where('id', $id)->find();
if ($classInfo && $classInfo['islast'] == 1) {
// 如果当前记录的islast为1,直接返回
return $classInfo;
} elseif ($classInfo) {
// 否则,递归查找子类
$subClasses = Db::name('class')->where('pid', $id)->select();
foreach ($subClasses as $subClass) {
$lastClass = $this->findLastClass($subClass['id']); // 递归调用
if ($lastClass) {
// 如果在子类中找到了islast为1的记录,返回它
return $lastClass;
}
}
}

// 如果没有找到islast为1的记录,返回null
return null;
}

// 使用示例
$id = /* 您的初始ID */;
$newsclass = $this->findLastClass($id);
dump($newsclass);

posted @ 2024-05-11 19:10  85541585  阅读(18)  评论(0编辑  收藏  举报