利用php递归实现无限分类 格式化数组的详解_php技巧_脚本之家_正则表达式_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • 正则表达式

    当前位置:主页 > 网络编程 > 正则表达式 >

    利用php递归实现无限分类 格式化数组的详解_php技巧_脚本之家

    时间:2019-08-03|栏目:正则表达式|点击:
  • 我们要做一个商品的无限分类
    首先数据库字段为:
    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>

    上一篇:如何利用php array_multisort函数 对数据库结果进行复杂排序_php技巧_脚本之家

    栏    目:正则表达式

    下一篇:PHP stripos()函数及注意事项的分析_php技巧_脚本之家

    本文标题:利用php递归实现无限分类 格式化数组的详解_php技巧_脚本之家

    本文地址:http://www.jh-floor.com/wangluobiancheng/zhengzebiaodashi/15174.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号