数码资讯
递归无限类分类的PHP实现
在一些复杂的系统中,信息列需要被无限期地分类以增强系统的灵活性。在本文中,我们使用递归算法,结合MySQL数据表实现无限类分类。 递归,简单地说,是程序代码的重复调用。在将代码写入自定义函数时,它保存参数和其他变量,并在函数中反复调用函数,直到达到某个条件后才跳出并返回相应的数据。 MySQL 首先
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在一些复杂的系统中,信息列需要被无限期地分类以增强系统的灵活性。在本文中,我们使用递归算法,结合MySQL数据表实现无限类分类。
递归,简单地说,是程序代码的重复调用。在将代码写入自定义函数时,它保存参数和其他变量,并在函数中反复调用函数,直到达到某个条件后才跳出并返回相应的数据。
MySQL
首先,我们准备一个数据表,类,记录货物的分类信息。表中有三个字段:id:分类号,主键自增长;标题:分类名;PID:隶属分类ID。
类表结构:
如果不存在,创建表(类)
` ID ` MEDIUMINT(6)不为空auto_increment,
`标题` varchar(30)不为空,
` PID ` MEDIUMINT(6)不为空的默认'0',
主键(id)
= MyISAM引擎默认的字符集utf8);
插入数据之后,一个数字:
PHP
根据不同的需求,我们提供了两种不同格式的定制功能。一个是返回字符串,一个是返回数组,另两个函数使用递归方法:
功能get_str($id = 0){
全局$ STR;
$选择ID,从类中的标题,在这里,PID = $ id ;
结果= mysql_query美元($ SQL); / /分类查询PID类
如果($结果)(mysql_affected_rows){ / /如果有子类
$ =;
而($行= mysql_fetch_array($结果)){ / /循环记录集
$str =$行{ 'id' }。-$行{标题} ,; / /线施工。
get_str($行{ 'id' }); / /电话get_str(),ID记录集参数传递给函数,继续降低查询
}
$ =;
}
返回$ STR;
}
以上功能get_str()递归查询下层和返回字符串。您可以根据项目的需要修改STR,最后生成无限的分层列表。
include_once('connect。php); / /连接到数据库的connect.php文件写的啊
Echo get_str (0); / / output unlimited classification
效果如下:
然后,我们将返回返回数组格式的函数,以及递归。
功能get_array($id = 0){
$选择ID,从类中的标题,在这里,PID = $ id ;
结果= mysql_query美元($ SQL); / /查询子类
ARR =阵列(美元);
如果($结果)(mysql_affected_rows){ / /如果有子类
而($行= mysql_fetch_assoc($结果)){ / /循环记录集
行'list} = {美元get_array($行{ 'id' }); / /调用函数,传入的参数,继续降低查询
$ ARR { } =美元 / /联排;
}
返回的数组;
}
}
功能get_array()返回一个数组,这是我们的期望,所以我建议使用get_array()方法获得,数组,我们可以进行任何操作的数组,我们可以将数组转换成JSON格式的数据到首页,页面的结束前通过JSON数据分析表明,柔性的分类信息。例如,树形结构的分类列表,下拉列表等。
include_once('connect。php); / /数据库连接
列表= get_array美元(0); / /呼叫功能
print_r($列表); / /输出阵列
输出效果如下:
如果你想用JSON格式输出数据,你可以使用:
回声json_encode($列表);
上面的方法教你如何使用PHP实现递归无限类分类。我希望这篇文章对大家的学习有所帮助。
递归,简单地说,是程序代码的重复调用。在将代码写入自定义函数时,它保存参数和其他变量,并在函数中反复调用函数,直到达到某个条件后才跳出并返回相应的数据。
MySQL
首先,我们准备一个数据表,类,记录货物的分类信息。表中有三个字段:id:分类号,主键自增长;标题:分类名;PID:隶属分类ID。
类表结构:
如果不存在,创建表(类)
` ID ` MEDIUMINT(6)不为空auto_increment,
`标题` varchar(30)不为空,
` PID ` MEDIUMINT(6)不为空的默认'0',
主键(id)
= MyISAM引擎默认的字符集utf8);
插入数据之后,一个数字:
PHP
根据不同的需求,我们提供了两种不同格式的定制功能。一个是返回字符串,一个是返回数组,另两个函数使用递归方法:
功能get_str($id = 0){
全局$ STR;
$选择ID,从类中的标题,在这里,PID = $ id ;
结果= mysql_query美元($ SQL); / /分类查询PID类
如果($结果)(mysql_affected_rows){ / /如果有子类
$ =;
而($行= mysql_fetch_array($结果)){ / /循环记录集
$str =$行{ 'id' }。-$行{标题} ,; / /线施工。
get_str($行{ 'id' }); / /电话get_str(),ID记录集参数传递给函数,继续降低查询
}
$ =;
}
返回$ STR;
}
以上功能get_str()递归查询下层和返回字符串。您可以根据项目的需要修改STR,最后生成无限的分层列表。
include_once('connect。php); / /连接到数据库的connect.php文件写的啊
Echo get_str (0); / / output unlimited classification
效果如下:
然后,我们将返回返回数组格式的函数,以及递归。
功能get_array($id = 0){
$选择ID,从类中的标题,在这里,PID = $ id ;
结果= mysql_query美元($ SQL); / /查询子类
ARR =阵列(美元);
如果($结果)(mysql_affected_rows){ / /如果有子类
而($行= mysql_fetch_assoc($结果)){ / /循环记录集
行'list} = {美元get_array($行{ 'id' }); / /调用函数,传入的参数,继续降低查询
$ ARR { } =美元 / /联排;
}
返回的数组;
}
}
功能get_array()返回一个数组,这是我们的期望,所以我建议使用get_array()方法获得,数组,我们可以进行任何操作的数组,我们可以将数组转换成JSON格式的数据到首页,页面的结束前通过JSON数据分析表明,柔性的分类信息。例如,树形结构的分类列表,下拉列表等。
include_once('connect。php); / /数据库连接
列表= get_array美元(0); / /呼叫功能
print_r($列表); / /输出阵列
输出效果如下:
如果你想用JSON格式输出数据,你可以使用:
回声json_encode($列表);
上面的方法教你如何使用PHP实现递归无限类分类。我希望这篇文章对大家的学习有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。