凡科网站怎么样,wordpress图片上传到云,lnmp wordpress 安装,wordpress二级栏我们面试程序开发的时候#xff0c;经常会被问到递归的问题。今天我们在本文中以“素材火的特效分类表”作为演示#xff0c;使用PHP递归结合Mysql实现无限级分类。难易#xff1a;初级下载资源下载积分#xff1a;50积分递归简单的说就是一段程序代码的重复调用#xff0…我们面试程序开发的时候经常会被问到递归的问题。今天我们在本文中以“素材火的特效分类表”作为演示使用PHP递归结合Mysql实现无限级分类。难易初级下载资源下载积分50积分递归简单的说就是一段程序代码的重复调用当把代码写到一个自定义函数中将参数等变量保存函数中重复调用函数直到达到某个条件才跳出返回相应的数据。cats表 CREATE TABLE IF NOT EXISTS cats (id int(11) NOT NULL AUTO_INCREMENT,pid int(11) DEFAULT 0,name varchar(50) NOT NULL,ord int(6) NOT NULL,PRIMARY KEY (id)) ENGINEMyISAM DEFAULT CHARSETutf8 AUTO_INCREMENT132 ;INSERT INTO cats (id, pid, name, ord) VALUES(1, 0, 特效分类, 1),(2, 0, 难易程度, 2),(3, 2, 入门级, 1),(4, 2, 初级, 2),(5, 2, 中级, 3),(6, 2, 高级, 4),(7, 1, 图片代码, 1),(8, 1, 导航菜单, 2),(9, 1, 选项卡/滑动门, 3),......演示一返回字符串 echo get_str(0, 0); //输出无限级分类function get_str($id 0, $level 0) {global $str;$sql select id,name from cats where pid $id;$result mysql_query($sql); //查询pid的子类的分类if ($result mysql_affected_rows()) {//如果有子类$str . ;$level;while ($row mysql_fetch_array($result)) { //循环记录集$str . . $row[id] . -- . $row[name] . $level . ; //构建字符串get_str($row[id], $level); //调用get_str()将记录集中的id参数传入函数中继续查询下级}$str . ;}return $str;}演示二返回数组 $list get_array(0); //调用函数print_r($list); //输出数组function get_array($id 0) {$sql select id,name from cats where pid $id;$result mysql_query($sql); //查询子类$arr array();if ($result mysql_affected_rows()) {//如果有子类while ($rows mysql_fetch_assoc($result)) { //循环记录集$rows[list] get_array($rows[id]); //调用函数传入参数继续查询下级$arr[] $rows; //组合数组}return $arr;}}