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);
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步