利用php递归实现无限分类 格式化数组的详解

2015-01-24信息快讯网

本篇文章是对使用php递归实现无限分类 格式化数组进行了详细的分析介绍,需要的朋友参考下

我们要做一个商品的无限分类
首先数据库字段为:
id ----------商品主键id
fid ---------- 商品父id
name ---------- 商品名
最后输出的数组格式为
<PRE class=php name="code"><PRE class=php name="code">array(
 0=>array(
  'id'=>1,
  'fid'=>0,
  'name'=>'法国货'
  'child'=>array(
   0=>array( 
    'id'=>12,
    'fid'=>1,
    'name'=>'香水'
    'child'=>array(
     0=>array(
      'id'=>34,
      'fid'=>12,
      'name'=>'女用香水'
     )
    )
   ),
   1=>array(
    'id'=>13,
    'fid'=>1,
    'name'=>'笔记本'
    'child'=>NUll
   )
  )
 ),
 1=>array(),    //格式同上我就不再重复写了 没什么意义
 2=>array()
)</PRE><BR>
<PRE></PRE>
<PRE></PRE>
php代码:
<P></P>
<P></P>
<PRE class=php name="code"><?php
//数据库我用的mysql PDO  但是整个思路又是一样的
$conn=mysql_connect('localhost','root','123');
if(mysql_errno()){
 printf('连接失败'.mysql_error());
}
mysql_select_db('edeng');
mysql_set_charset('utf8');
/*
 *递归函数
 *@param id 要查询fid=$id的所有子类  这里将$id的默认值为设为0  是因为我在数据库中将最顶层的类别的fid设置为0
 */
function get_array($id=0){
 $sql="select id,fid,cname from e_cat where fid= $id";
 $result=mysql_query($sql);
 $arr=array();
 if($result && mysql_affected_rows()){
  while($rows=mysql_fetch_assoc($result)){

   $rows['child']=get_array($rows['id']);
   $arr[] = $rows;
  }
  return $arr;
 }
} 
echo '<pre>';
$result = get_array();
print_r($result);
</PRE><BR>
<BR>
<P></P>
<P> </P>
<P>函数首先查询出所有fid为0的类</P>
<P>通过while逐个循环进行回调查找fid为当前类的id的子类</P>
<P><BR>
</P>
<P><BR>
</P>
<BR>
<BR>
<PRE></PRE>
</PRE>

phpexcel导入excel数据使用方法实例
php生成excel列序号代码实例
php jquery 多文件上传简单实例
php安装xdebug/php安装pear/phpunit详解步骤(图)
PHP变量的定义、可变变量、变量引用、销毁方法
php使用curl发送json格式数据实例
php自定义的格式化时间示例代码
php导出word格式数据的代码实例
php上传文件,创建递归目录的实例代码
PHP无限分类(树形类)
PHP JS Ip地址及域名格式检测代码
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
php addslashes 利用递归实现使用反斜线引用字符串
PHP 循环删除无限分类子节点的实现代码
解析左右值无限分类的实现算法
解析thinkphp的左右值无限分类
php无限分类且支持输出树状图的详细介绍
PHP跳转页面的几种实现方法详解
如何利用php array_multisort函数 对数据库结果进行复杂排序
php引用返回与取消引用的详解
PHP stripos()函数及注意事项的分析
php自动加载机制的深入分析
探讨如何在php168_cms中提取验证码
探讨PHP调用时间格式的参数详解
深入PHP nl2br()格式化输出的详解
PHP判断图片格式的七种方法小结
PHP无限分类(树形类)的深入分析
基于php无限分类的深入理解
关于尾递归的使用详解
关于PHP递归算法和应用方法介绍
php设置编码格式的方法
PHP递归调用的小技巧讲解
PHP递归返回值时出现的问题解决办法
PHP递归算法的详细示例分析
PHP数据集构建JSON格式及新数组的方法
©2014-2024 dbsqp.com