这篇文章主要为大家详细介绍了PHP利用递归实现无限分类,格式化数组的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!我们要做一个商品的无限分类

首先数据库字段为:

id ----------商品主键id

fid ---------- 商品父id

name ---------- 商品名

最后输出的数组格式为

代码如下:

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()

)

php代码:

<?php 

/* 512笔记 www.512Pic.com */

//数据库我用的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 '

';

$result = get_array();

print_r($result);

函数首先查询出所有fid为0的类

通过while逐个循环进行回调查找fid为当前类的id的子类

注:关于PHP利用递归实现无限分类,格式化数组的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:无限分类

php 递归格式化数组,PHP利用递归实现无限分类,格式化数组的简单示例相关推荐

  1. python递归 数字全排列_利用递归实现全排列(python)

    利用递归实现全排列(python) """ 利用递归实现全排列 第一个位置可能有n种可能,第二个位置可能 有n-1种可能...... 代码思路就是第一个位置可以和n个元素 ...

  2. php foreach 时间,PHP利用for,while,foreach遍历时间比较的简单示例

    这篇文章主要为大家详细介绍了PHP利用for,while,foreach遍历时间比较的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!这个是从别 ...

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

    我们要做一个商品的无限分类 首先数据库字段为:id ----------商品主键id fid ---------- 商品父id name ---------- 商品名 最后输出的数组格式为 . 代码如 ...

  4. 数据结构与算法:动态数组(利用万能指针实现任意类型数组操作)

    原理介绍 我们利用万能指针来实现动态数组,数组元素类型可以是任意类型,因为我们只维护用户提供的数据的地址,所以可以用万能指针来接受,这样就实现了类似C++中的模板功能了. 先说说动态数组和静态数组.静 ...

  5. php递归查询 大数组,php 递归 实现无限分类 格式化数组

    array( 0=>array( 'id'=>1, 'fid'=>0, 'name'=>'法国货' 'child'=>array( 0=>array( 'id'=& ...

  6. c语言十进制转八进制递归,C语言之利用递归将十进制转换为二进制

    #include #include void change2(int num) { if (num != 0) { change2(num / 2); printf("%d", n ...

  7. golang python扩展_Python 利用Go语言编写 CPython 扩展 goPy的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展. 示例代码: # ...

  8. php递归处理数组,PHP递归实现无限分类数组处理

    PHP递归实现无限分类数组处理 1,php递归算法实现无限分类 递归算法对无限分类的数组进行处理,分两种情况, 一种树状展示(数组包含子数组), 一种非树状展示(子类按照顺序排在父类的下面,不出现数组 ...

  9. es6 数组合并_13个不low的JS数组操作,你需要知道一下

    作者 | 火狼1来源 | https://juejin.im/post/5c92e385e51d450ce11df1d1 前言 本文主要从应用来讲数组api的一些骚操作:如一行代码扁平化n维数组.数组 ...

最新文章

  1. R语言可视化包ggplot2绘制饼图(pie chart)实战
  2. atitit.人脸识别的应用场景and使用最佳实践 java .net php
  3. SpringCloud 分布式事务解决方案
  4. OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
  5. 【php数组函数序列】之array_combine() - 数组合并
  6. html中怎么选择相同的代码,不同的HTML,相同的代码隐藏和相同的控件
  7. 小型ASP服务器|简洁asp服务器
  8. MySQL高级-MySQL查询缓存优化
  9. Mac下新安装的MySQL无法登陆root用户解决方法
  10. 用python画八卦图-用Python中的画图工具turtle绘制八卦图
  11. 递归下降分析器 c++_专业围观质谱:汇总常见质谱仪专业对比分析!质量分析器直白解剖让你秒懂!...
  12. 《Spring》AOP实现原理
  13. android pdf转word开发,如何在Android手机上将PDF转换为Word文档
  14. 关于目标文件系统,文件过大的解决方法
  15. linux用独显运行steam,如何使用Steam Play在Linux上玩几乎所有Windows游戏 | MOS86
  16. Driverjs-前端引导页组件
  17. Inception(盗梦空间)及代码实现
  18. java数字格式化为货币字符串_Java把数字格式化为货币字符串实例代码
  19. 谷歌学术we are sorry/拉黑/报错自动查询过多
  20. onkeypress、onkeydown、onkeyup

热门文章

  1. Excel表格下拉数据不会随格式而变动
  2. STM32L471内存分布
  3. Photoshop-图像的自由变换
  4. 【Java 代码实例 11】利用百度语音识别技术实现文字转语音的应用
  5. 苹果手机邮箱添加服务器,iPhone怎么添加邮箱账户?iPhone X添加邮箱账户方法
  6. Mac定时关机、重启、休眠命令行
  7. 桥梁检测技术_建立技术团队之间桥梁的最佳实践
  8. VS2015(Install Shield 2015 )打包教程。集成第三方驱动。修改安装包图标、安装风格。
  9. Linux文本检索命令grep
  10. word输入技巧:上下标这个梗,你将如何化解?