php 递归格式化数组,PHP利用递归实现无限分类,格式化数组的简单示例
这篇文章主要为大家详细介绍了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利用递归实现无限分类,格式化数组的简单示例相关推荐
- python递归 数字全排列_利用递归实现全排列(python)
利用递归实现全排列(python) """ 利用递归实现全排列 第一个位置可能有n种可能,第二个位置可能 有n-1种可能...... 代码思路就是第一个位置可以和n个元素 ...
- php foreach 时间,PHP利用for,while,foreach遍历时间比较的简单示例
这篇文章主要为大家详细介绍了PHP利用for,while,foreach遍历时间比较的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!这个是从别 ...
- php 递归格式化数组,利用php递归实现无限分类 格式化数组的详解
我们要做一个商品的无限分类 首先数据库字段为:id ----------商品主键id fid ---------- 商品父id name ---------- 商品名 最后输出的数组格式为 . 代码如 ...
- 数据结构与算法:动态数组(利用万能指针实现任意类型数组操作)
原理介绍 我们利用万能指针来实现动态数组,数组元素类型可以是任意类型,因为我们只维护用户提供的数据的地址,所以可以用万能指针来接受,这样就实现了类似C++中的模板功能了. 先说说动态数组和静态数组.静 ...
- php递归查询 大数组,php 递归 实现无限分类 格式化数组
array( 0=>array( 'id'=>1, 'fid'=>0, 'name'=>'法国货' 'child'=>array( 0=>array( 'id'=& ...
- c语言十进制转八进制递归,C语言之利用递归将十进制转换为二进制
#include #include void change2(int num) { if (num != 0) { change2(num / 2); printf("%d", n ...
- golang python扩展_Python 利用Go语言编写 CPython 扩展 goPy的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展. 示例代码: # ...
- php递归处理数组,PHP递归实现无限分类数组处理
PHP递归实现无限分类数组处理 1,php递归算法实现无限分类 递归算法对无限分类的数组进行处理,分两种情况, 一种树状展示(数组包含子数组), 一种非树状展示(子类按照顺序排在父类的下面,不出现数组 ...
- es6 数组合并_13个不low的JS数组操作,你需要知道一下
作者 | 火狼1来源 | https://juejin.im/post/5c92e385e51d450ce11df1d1 前言 本文主要从应用来讲数组api的一些骚操作:如一行代码扁平化n维数组.数组 ...
最新文章
- R语言可视化包ggplot2绘制饼图(pie chart)实战
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
- SpringCloud 分布式事务解决方案
- OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
- 【php数组函数序列】之array_combine() - 数组合并
- html中怎么选择相同的代码,不同的HTML,相同的代码隐藏和相同的控件
- 小型ASP服务器|简洁asp服务器
- MySQL高级-MySQL查询缓存优化
- Mac下新安装的MySQL无法登陆root用户解决方法
- 用python画八卦图-用Python中的画图工具turtle绘制八卦图
- 递归下降分析器 c++_专业围观质谱:汇总常见质谱仪专业对比分析!质量分析器直白解剖让你秒懂!...
- 《Spring》AOP实现原理
- android pdf转word开发,如何在Android手机上将PDF转换为Word文档
- 关于目标文件系统,文件过大的解决方法
- linux用独显运行steam,如何使用Steam Play在Linux上玩几乎所有Windows游戏 | MOS86
- Driverjs-前端引导页组件
- Inception(盗梦空间)及代码实现
- java数字格式化为货币字符串_Java把数字格式化为货币字符串实例代码
- 谷歌学术we are sorry/拉黑/报错自动查询过多
- onkeypress、onkeydown、onkeyup