在php中将数组作为树遍历

问题:在php中将数组作为树遍历

我有一个描述层次结构的数据库表。这是结构

 id | pid | uid 
  1    5     2
  2    2     3
  3    2     4
  4    2     6
  5    3     7

在树形结构中,它看起来是这样的。这只是一个例子,它们可能是更多的节点。

         2 
      /  |  \
     3   4   6
    /      
   7 

因此,在 php 和 mysql 中,我获取所有数据并将其保存到数组中。

我想遍历该数组以确定例如特定级别中的 id 数量,我希望能够从一个级别检索所有节点。

我怎么能在php中做到这一点?

编辑

这就是我创建数组的方式:

foreach ( $resultSet as $row ) {
    $entry = array();
    $entry['id'] = $row->id;
    $entry['uid'] = $row->uid;
    $entry['rid'] = $row->rid;
    $entry['date'] = $row->date;
    $entries [] = $entry;
}

这就是我现在使用答案创建树的方式

$tree = array();
foreach($entries as $key){
   $this->adj_tree($tree, $key);
}
return $tree;

但是当我打印 $tree 时,我得到了一些奇怪的输出

Array ( [24] => Array ( [id] => 6 [uid] => 24 [rid] => 83 [date] =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全能资料库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值