PHP中怎么引用生成树结构
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,PHP中怎么引用生成树结构,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP中的引用就是两个变量指向了同一个地方,只要
千家信息网最后更新 2026年11月02日PHP中怎么引用生成树结构
PHP中怎么引用生成树结构,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
PHP中的引用就是两个变量指向了同一个地方,只要在变量前面增加了&符号,它就变成了一个引用
$a='aaa';$b=&$a;$c=&$b;xdebug_debug_zval('a','b','c');输出结果是:
a: (refcount=3, is_ref=1)='aaa'b: (refcount=3, is_ref=1)='aaa'c: (refcount=3, is_ref=1)='aaa'
"aaa"有了三个引用 , 并且是is_ref是引用类型,那也就意味着不管是我修改$b ,还是修改$c , "aaa"这个都会被改变
可以根据上面这个原理来把一个数据库存储的带pid的逐行数据,变成一个多层级的树状结构
$data=array( array("id"=>2,"pid"=>1), array("id"=>3,"pid"=>1), array("id"=>4,"pid"=>2), array("id"=>5,"pid"=>2), array("id"=>6,"pid"=>3), array("id"=>7,"pid"=>3), array("id"=>1,"pid"=>0),);$refer=array();//存储主键与数组单元的引用关系//遍历foreach($data as $k=>$v){ $refer[$v['id']]=&$data[$k];//为每个数组成员建立对应关系}//遍历2foreach($data as $k=>$v){ $parent=&$refer[$v['pid']];//获取父分类的引用 $parent['child'][]=&$data[$k];//在父分类的children中再添加一个引用成员}print_r($data);利用了一个$refer数组,时间复杂度是O(n) , 只需要单层循环,直接通过引用修改$data原数据,生成一个树状结构
Array( [0] => Array ( [id] => 2 [pid] => 1 [child] => Array ( [0] => Array ( [id] => 4 [pid] => 2 ) [1] => Array ( [id] => 5 [pid] => 2 ) ) ) [1] => Array ( [id] => 3 [pid] => 1 [child] => Array ( [0] => Array ( [id] => 6 [pid] => 3 ) [1] => Array ( [id] => 7 [pid] => 3 ) ) ) [2] => Array ( [id] => 4 [pid] => 2 ) [3] => Array ( [id] => 5 [pid] => 2 ) [4] => Array ( [id] => 6 [pid] => 3 ) [5] => Array ( [id] => 7 [pid] => 3 ) [6] => Array ( [id] => 1 [pid] => 0 [child] => Array ( [0] => Array ( [id] => 2 [pid] => 1 [child] => Array ( [0] => Array ( [id] => 4 [pid] => 2 ) [1] => Array ( [id] => 5 [pid] => 2 ) ) ) [1] => Array ( [id] => 3 [pid] => 1 [child] => Array ( [0] => Array ( [id] => 6 [pid] => 3 ) [1] => Array ( [id] => 7 [pid] => 3 ) ) ) ) ))
$a='aaa';$b=&$a;$c=&$b;xdebug_debug_zval('a','b','c');看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
结构
数据
生成
变量
数组
分类
存储
帮助
复杂
清楚
三个
两个
内容
单元
单层
原理
地方
复杂度
多层
对此
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
博彦科技互联网金融
广东猪兼强互联网科技有限公司
互联网科技巨头监管
互联网科技的
易互联网科技有限公司
艾特科技互联网
互联网高科技股票
阿里互联网科技企业
长沙茂晟互联网科技有限公司
黑科技 体验场景 互联网大会
风投北京互联网科技
抖集互联网科技技术咨询
互联网科技接地气
同城互联网络科技
北京天晋互联网科技有限公司
科技和互联网行业的特点
玉溪新华互联网科技怎么选
互联网企业和网络科技有限公司
互联网科技快速发展优美句子
互联网科技工作委员会毛军
A股互联网金融科技公司
互联网通讯科技
互联网 科技服务平台
世界互联网科技公司市值排名
互联网5g黑科技有哪些
互联网数据科技专业
中科明德北京互联网科技
工业互联网山东科技大学
工业互联网科技创业