利用php递归实现无限分类 格式化数组的详解_PHP教程
我们要做一个商品的无限分类
首先数据库字段为:
id ----------商品主键id
fid ---------- 商品父id
name ---------- 商品名
最后输出的数组格式为
<PRE class=php name="code">array(<BR> 0=>array(<BR> 'id'=>1,<BR> 'fid'=>0,<BR> 'name'=>'法国货'<BR> 'child'=>array(<BR> 0=>array( <BR> 'id'=>12,<BR> 'fid'=>1,<BR> 'name'=>'香水'<BR> 'child'=>array(<BR> 0=>array(<BR> 'id'=>34,<BR> 'fid'=>12,<BR> 'name'=>'女用香水'<BR> )<BR> )<BR> ),<BR> 1=>array(<BR> 'id'=>13,<BR> 'fid'=>1,<BR> 'name'=>'笔记本'<BR> 'child'=>NUll<BR> )<BR> )<BR> ),<BR> 1=>array(), //格式同上我就不再重复写了 没什么意义<BR> 2=>array()<BR>)
php代码:
<?php<BR>//数据库我用的mysql PDO 但是整个思路又是一样的<BR>$conn=mysql_connect('localhost','root','123');<BR>if(mysql_errno()){<BR> printf('连接失败'.mysql_error());<BR>}<BR>mysql_select_db('edeng');<BR>mysql_set_charset('utf8');<BR>/*<BR> *递归函数<BR> *@param id 要查询fid=$id的所有子类 这里将$id的默认值为设为0 是因为我在数据库中将最顶层的类别的fid设置为0<BR> */<BR>function get_array($id=0){<BR> $sql="select id,fid,cname from e_cat where fid= $id";<BR> $result=mysql_query($sql);<BR> $arr=array();<BR> if($result && mysql_affected_rows()){<BR> while($rows=mysql_fetch_assoc($result)){<br><br> $rows['child']=get_array($rows['id']);<BR> $arr[] = $rows;<BR> }<BR> return $arr;<BR> }<BR>} <BR>echo '<pre class="brush:php;toolbar:false">';<BR>$result = get_array();<BR>print_r($result);<BR>
函数首先查询出所有fid为0的类
通过while逐个循环进行回调查找fid为当前类的id的子类

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

在PHP中可以通过使用不可预测的令牌来有效防范CSRF攻击。具体方法包括:1.生成并在表单中嵌入CSRF令牌;2.在处理请求时验证令牌的有效性。

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。
