<?php

/**
* @author Skyline
* @copyright 2011
*/

$cate = array(
1=>array(
'id'=>1,
'pid'=>0,
'name'=>'News_1'
),
2=>array(
'id'=>2,
'pid'=>1,
'name'=>'News_12'
),
7=>array(
'id'=>7,
'pid'=>1,
'name'=>'News_17'
),
3=>array(
'id'=>3,
'pid'=>2,
'name'=>'News_123'
),
8=>array(
'id'=>8,
'pid'=>7,
'name'=>'News_178'
),
4=>array(
'id'=>4,
'pid'=>0,
'name'=>'News_4'
),
5=>array(
'id'=>5,
'pid'=>4,
'name'=>'News_45'
),
6=>array(
'id'=>6,
'pid'=>5,
'name'=>'News_456'
)
);

function getchild($pid,$arr){
$sa = $newarr = array();
if(is_array($arr)){
foreach($arr as $id => $sa){
if($sa['pid']== $pid) $newarr[$id]=$sa;
}
}
return $newarr ? $newarr :false;
}

function get_tree($pid,$arr,$num){
global $str;
$child = getchild($pid,$arr);

if(is_array($child)){

$total = count($child);
foreach($child as $id => $sa){
$pstr ='|-';
for($i =0; $i <= $num; $i ++){
$pstr = $pstr .'----';
}
$str = $str . $pstr . $sa['name']."-----$num "." <br>";
$num++;
get_tree($sa['id'],$arr,$num);
$num--;
}
}else{return;}
}

get_tree(0,$cate,0);
echo $str;

?>

php 二维数组以树形输出(转)的更多相关文章

  1. 100-PHP二维数组的元素输出三

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

  2. 098-PHP二维数组的元素输出

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

  3. 101-PHP二维数组的元素输出三,封装成函数

    <?php $arr=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65),5,234,56,'Hel ...

  4. 099-PHP二维数组的元素输出二

    <?php $stu=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65)); //定义一个二维数组 ...

  5. ACM_二维数组的查找

    二维数组的查找 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定一个n*m的二维数组,保证a[i][j] < a[i+1 ...

  6. php中遍历二维数组并以表格的形式输出

    一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1, ...

  7. thinkphp二维数组模板输出方法

    thinkphp二维数组模板输出方法 先写个记录,有空再整理发上来

  8. ajax向前台输出二维数组 并解析

    最近在弄一个售后数据统计的功能,里边需要统计特定时期内各种客户.机型的分布比例,单单table来计算并显示很死板(一点也不酷) 于是决定用jquery插件flot并通过ajax传输数据 :flot的折 ...

  9. C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数

    #include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used fo ...

随机推荐

  1. 字体圆润属性的使用-webkit-font-smoothing: antialiased

    字体渲染和抗锯齿技术 据称该属性在window下不起作用,不知win10如何,但是在OS和ios中会有不同的展示效果,主要也是展示在webkit内核中,以及android和ios中 大概是说字体渲染的 ...

  2. HTML5拖放API

    拖放事件事件提供了拖放可以控制几乎所有方面的拖放操作.棘手的部分是确定每个事件触发:在拖项目火:别人火下降的目标.拖动项时,以下事件(按照这个顺序): 拖曳开始拖dragend此刻你把鼠标按钮和开始移 ...

  3. 搜索所有的路径-矩阵运算-暴力-ACM

    给定一个n*n整数矩阵,定义对I行的SHIFT操作( 0 <= i < n ),是将第I行所有元素都右移一位,最右边的移到最左边. 你可以对任意行进行任意次SHIFT操作,使得: max0 ...

  4. JavaScript 获取Select标签选中的项

    <select name="select1" id="select1" onchange=setInput()> <option value= ...

  5. Android App 性能评测与调优

    要点: 1. 内存优化的目的以及工具介绍 2. Android APP 内存的主要问题分析与总结 3. UI 绘制原理以及量化工具 - UI 流畅度的主要问题分析以及 UI 绘制原理. 4. 如何获取 ...

  6. Python自动化运维之26、Web框架本质、MVC与MTV

    一.Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...

  7. bzoj2687: 交与并

    Description     对于一个区间集合{A1,A2……AK}(K>1,Ai<>Aj{i<>j}),我们定义其权值           W=|A1∪A2∪……∪A ...

  8. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...

  9. JavaScript Book Plan

    1. HTML5 2. Library & Framwork About Performance Tool and Process https://developers.google.com/ ...

  10. H3C S5000和H3C S5500,俺来罗

    S5开头,后面第二位数0-4搂二层交换机.5-9的为三层交换机. 小常识.