php通过分类列表产生分类树数组的方法

本文实例讲述了php通过分类列表产生分类树数组的方法。分享给大家供大家参考。具体分析如下:

这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID

php代码如下:

$tree = array();
foreach ($list as $id => $row) {
 $pid = $row->pid;
 if ($pid == 0) {
  $tree[] = &$list[$id];
 } else if (isset($list[$pid])) {
  $parent = &$list[$pid];
  $parent->children[] = &$list[$id];
  // 增加 children 属性标识子分类列表
 }
}

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • php数组的概述及分类与声明代码演示

    复制代码 代码如下: <?php /** ** 一数组的概述 1.数组的本质:管理和操作一组变量,成批处理 2.数组是复合类型 3.数组中可以存储任意长度的数据.也可以存储任意类型的数据 4.数组就可以完成其他语言数据结构的功能(链表,队列,栈,集合类) ** 二.数组的分类 数组中存有多个单元,(单元称为元素) 每个元素都是由下标[键]和值组成 单独访问元素的时候,都是通过下标[键]来访问元素 1.一维数组 ,二维数组,三维数组 .....多维数组 (数组的数组,就是在数组中存有其他的数组)

  • php简单实现无限分类树形列表的方法

    本文实例讲述了php简单实现无限分类树形列表的方法.分享给大家供大家参考.具体如下: $items = array( 1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'), 2 => array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'), 3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'), 4 =

  • php递归实现无限分类生成下拉列表的函数

    复制代码 代码如下: /*------------------ */ //– 递归实现无限分类生成下拉列表函数 //– $tpl->assign('sort_list',createSortOptions ()); //– $tpl->assign('sort_list',createSortOptions ($sort_id)); /*------------------ */ function createSortOptions ($selected=0,$parent_id=0,$n=-

  • php用数组返回无限分类的列表数据的代码

    复制代码 代码如下: /*------------------ */ //– 获取无限分类的列表数据 /*------------------ */ function get_sort ($parent_id=0,$n=-1) { global $db; static $sort_list = array (); $sql = "SELECT * FROM ".$db->table('article_sort')." WHERE `parent_id` = '{$par

  • PHP无限分类代码,支持数组格式化、直接输出菜单两种方式

    复制代码 代码如下: <?php /** +------------------------------------------------ * 通用的树型类 +------------------------------------------------ * @author yangyunzhou@foxmail.com +------------------------------------------------ * @date 2010年11月23日10:09:31 +-------

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

    我们要做一个商品的无限分类首先数据库字段为:id ----------商品主键idfid ---------- 商品父idname ---------- 商品名最后输出的数组格式为 复制代码 代码如下: <PRE class=php name="code"><PRE class=php name="code">array( 0=>array(  'id'=>1,  'fid'=>0,  'name'=>'法国货'  '

  • php根据分类合并数组的方法实例详解

    最简单的数组合并我们只要使用array_merge即可array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用"+"合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉(注意:不是覆盖而是保留最先出现的那个值).例子: 复制代码 代码如下: $array

  • php通过分类列表产生分类树数组的方法

    本文实例讲述了php通过分类列表产生分类树数组的方法.分享给大家供大家参考.具体分析如下: 这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID php代码如下: $tree = array(); foreach ($list as $id => $row) { $pid = $row->pid; if ($pid == 0) { $tree[] = &$list[$id]; } else if (isset($list[$pid])) { $par

  • C#将HashTable中键列表或值列表复制到一维数组的方法

    本文实例讲述了C#将HashTable中键列表或值列表复制到一维数组的方法.分享给大家供大家参考.具体如下: 下面的示例说明如何将 Hashtable 中键的列表或值的列表复制到一维 Array 中. using System; using System.Collections; public class SamplesHashtable { public static void Main() { // Creates and initializes the source Hashtable.

  • Jquery+Ajax+PHP+MySQL实现分类列表管理(下)

    在上篇中,我们详细讲解了如何实现列表管理的新增和删除操作,可以看出,前端页面通过ajax与后台通信,根据后台处理结果响应前端页面交互操作,这是一个很典型的Ajax和JSON应用的例子. 本文将继续上篇文中的示例,完成编辑操作. 编辑项操作 用户通过单击"编辑"按钮,相应的项会立即变为编辑状态,出现一个输入框,用户可以重新输入新的内容,然后点击"保存"按钮完成编辑操作,也可以单击"取消"按钮取消编辑状态. 首先,通过单击"编辑"

  • wget各种选项分类列表与下载

    wget各种选项分类列表 "    启动    -V,  --version           显示wget的版本后退出   -h,  --help              打印语法帮助   -b,  --background        启动后转入后台执行   -e,  --execute=COMMAND   执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc "    记录和输入文件    -o,  --output-file=F

  • Jquery+Ajax+PHP+MySQL实现分类列表管理(上)

    在实际应用中,我们要管理一个客户分类,实现对客户分类的增加.删除和修改等操作,如何让这些操作变得更人性化,让用户操作起来更加方便成了我们必须研究的课题. 准备阶段 您需要具备HTML和Jquery等前端知识,以及基本的PHP程序和MySql数据库相关知识.要实现本文中的DEMO示例,首先需要一个mysql数据库: CREATE TABLE `catalist` ( `cid` int(11) NOT NULL auto_increment, `title` varchar(100) NOT NU

  • Ajax+PHP实现的分类列表框功能示例

    本文实例讲述了Ajax+PHP实现的分类列表框功能.分享给大家供大家参考,具体如下: 一 代码 conn.php: <?php $conn = mysql_connect("localhost", "root", "root") or die("连接数据库服务器失败!".mysql_error()); //连接MySQL服务器 mysql_select_db("db_database27",$conn

  • vue基于better-scroll仿京东分类列表

    本文实例为大家分享了vue基于better-scroll仿京东分类列表的具体代码,供大家参考,具体内容如下 效果图和目录结构 1.main.js(需要安装router) import Vue from 'vue' import App from './App.vue' import router from './router' import '../src/assets/js/mock' import axios from 'axios' axios.defaults.baseURL='http

  • Java仿淘宝首页分类列表功能的示例代码

    在之前的博文中,我们已经完成了用户模块的所有的功能,那么在接下来的几篇博文中,我们来完成分类管理功能模块. 先来看一下后台的分类管理都有哪些功能点 后台品类管理其实就是对商品的一个管理,主要分为增加品类.更新品类名称.获取同级品类结点和获取品类id及子节点品类 一.分类管理模块-增加品类功能的实现 先来看Service层 // 添加品类 public ServerResponse addCategory(String categoryName, Integer parentId){ if(par

  • destoon实现调用当前栏目分类及子分类和三级分类的方法

    调用当前栏目分类及子分类和三级分类是程序设计里常用的方法,本文就来详细讲述destoon实现调用当前栏目分类及子分类和三级分类的方法.具体操作如下: 在destoon中提供了如下的调用语句: 一级分类名: {$m[catname]} 二级分类名: {$c[catname]} 三级分类名: {$b[catname]} 具体调用示例如下: 一.直接调用分类名称和链接: {loop $maincat $i $m}<dl> {php $child = get_maincat($maincat, $CA

  • WordPress中获取指定分类及其子分类下的文章数目

    获取特定分类文章数 有时候我们想获取某个分类(category)下的文章数目,以便在博客的某个地方显示出来.下面就提供几个获取特定分类的文章数的方法,你可以根据个人喜好选择: 方法一: 将以下PHP代码放置在主题目录下的functions.php中: function wt_get_category_count($input = '') { global $wpdb; if($input == '') { $category = get_the_category(); return $categ

随机推荐