加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP超牛逼无限极分类生成树方法

发布时间:2020-12-12 20:52:16 所属栏目:PHP教程 来源:网络整理
导读:你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了。 这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了。 代码如下: array('id' => 1,'pid' => 0,'name' => '安徽省'), 2 => array(

你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了。

这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了。

代码如下:
array('id' => 1,'pid' => 0,'name' => '安徽省'), 2 => array('id' => 2,'name' => '浙江省'), 3 => array('id' => 3,'pid' => 1,'name' => '合肥市'), 4 => array('id' => 4,'pid' => 3,'name' => '长丰县'), 5 => array('id' => 5,'name' => '安庆市'), ); print_r(generateTree($items));

可以看到下面打印的结果:

代码如下:
Array ( [id] => 1 [pid] => 0 [name] => 安徽省 [son] => Array ( [0] => Array ( [id] => 3 [pid] => 1 [name] => 合肥市 [son] => Array ( [0] => Array ( [id] => 4 [pid] => 3 [name] => 长丰县 )

)

)

[1] => Array
(
[id] => 5
[pid] => 1
[name] => 安庆市
)

)

)

[1] => Array
(
[id] => 2
[pid] => 0
[name] => 浙江省
)

)

上面生成树方法还可以精简到5行:
代码如下:

上面这种无限极分类数据树形结构化的方法值得借鉴。但是我觉得这段代码实际用途并不明显啊,你想取出格式化的树形数据还是要递归啊:

代码如下:
'; if(isset($t['son'])){ getTreeData($t['son']); } } } getTreeData($tree);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读