为了账号安全,请及时绑定邮箱和手机立即绑定

如何从递归的父/子树中获取子节点的总数

如何从递归的父/子树中获取子节点的总数

PHP
浮云间 2021-04-27 17:33:17
我试图在使用父数据库从数据库中填充的族谱树中获取特定父数据库的子数据的总计数。我已经尝试了一些代码,但结果采用的是二进制形式。function getChildren($parent) {    global $connection;    $query = "SELECT * FROM member_log WHERE parent_id = $parent";    $result = mysqli_query($connection, $query) or die(mysqli_error($connection));    $children = array();    while ($row = mysqli_fetch_assoc($result)) {        $children[$row['id']]['username'] = $row['username'];        $children[$row['id']]['children'] = getChildren($row['id']);    }    return $children;}$user_id = "100";$finalResult = getChildren($user_id);$final = count($finalResult);function printList($array = null) {    if (count($array)) {        foreach($array as $item) {            $e = 1;            echo $e;            if (count($item['children'])) {                printList($item['children']);                $a = count($item['children']);            }        }    }}echo printList($finalResult);输出:111111预期产量:6来自的输出var_dump($finalresult);是:array(3) {  [101]=> array(2) {    ["username"]=> string(8) "1st user"    ["children"]=> array(3) {      [104]=> array(2) {        ["username"]=> string(8) "4th user"        ["children"]=> array(0) { }      }      [105]=> array(2) {        ["username"]=> string(8) "5th user"        ["children"]=> array(0) { }      }      [108]=> array(2) {        ["username"]=> string(7) "new guy"        ["children"]=> array(0) { }      }    }  }  [102]=> array(2) {    ["username"]=> string(8) "2nd user"    ["children"]=> array(0) { }   }  [103]=> array(2) {    ["username"]=> string(8) "3rd user"    ["children"]=> array(0) { }  } }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信