分类目录

链接

友情链接

统计信息

  • 日志总数:114篇
  • 评论总数:185条
  • 分类总数:11个
  • 标签总数:391个
  • 友情链接:0个
  • 网站运行:3177天

2019年八月
« 3月    
 1234
567891011
12131415161718
19202122232425
262728293031  
>
现在位置:    首页 > php/mysql > 正文

php 分类树的写法-通过传引用实现的php算法

php/mysql 暂无评论

     作为一个PHP程序员 你可能会经常碰到一些树的结构,比如分类树的。下面我们通过灵活地使用PHP的引用来实现这个算法。原理很简单。

当然我们平时的数据库分类结构都是    

cate_id      cate_name       parent  

当然 可能其实一些数据库设计者还会有其它的  东西   但无限分类主要 就是这样的结构。

通过这样我们也就可以很简单地把分类   生成分类树了。。。

先上代码 :

<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

header("Content-type:text/html;charset=utf-8");

$arr = array(
    1=>array('id'=>1,'cate'=>'科技','parent'=>0),
    2=>array('id'=>2,'cate'=>'语言','parent'=>0),
    3=>array('id'=>3,'cate'=>'文学','parent'=>0),
    4=>array('id'=>4,'cate'=>'手机','parent'=>1),
    5=>array('id'=>5,'cate'=>'智能手机','parent'=>4),
    6=>array('id'=>6,'cate'=>'外国语','parent'=>2),
    7=>array('id'=>7,'cate'=>'法语','parent'=>6),
    
);


function tree($arr){

    $count = count($arr);
    if($count<1) return $arr;
    
    foreach($arr as $k=>$v){
        if($v['parent'] == 0)            continue;
        //寻找父节点所在的位置
        foreach($arr as $key=>$value){
           
            if($v['parent'] == $value['id']){
                $arr[$key]['children'][] = &$arr[$k];  //灵活地使用了引用
                break;
            }
            
        }unset($key);unset($value);
        
    }
    
    //清除掉不是父分级的
    foreach($arr as $key=>$value){
        
        if($value['parent'] != 0){
           unset($arr[$key]);
        }
        
        
    }
    
    return $arr;
    
}


$arr = tree($arr);
echo '<pre>';
print_r($arr);

好了  简单几行代码  就完成了分类的树结构了 。。

当然,举一反三是必须的,明白了这个树是怎么通过引用算法来实现 的,其它什么的树应该也就手到擒来了。

so easy!!!

谢谢 阅读    更多资讯请到  http://www.junglecat.tech  游云随风的博客 

本文版权归企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改所有,转载引用请完整注明以下信息:
本文作者:admin
本文地址:php 分类树的写法-通过传引用实现的php算法 | 企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改

抱歉!评论已关闭.