如何将数组作为父节点和子节点有关系的树?

时间:2017-01-16 14:36:42

标签: php arrays

我有一个这样的数组:

$visitors = [
    0 => ['id' => 1, 'visitor_id' => null],
    1 => ['id' => 2, 'visitor_id' => 1],
    2 => ['id' => 3, 'visitor_id' => 1],
    3 => ['id' => 4, 'visitor_id' => 2],
    4 => ['id' => 5, 'visitor_id' => 3],
    5 => ['id' => 6, 'visitor_id' => 3],
    6 => ['id' => 7, 'visitor_id' => 5],
    7 => ['id' => 8, 'visitor_id' => null],
    8 => ['id' => 9, 'visitor_id' => 8],
];

visitor_idid有关,我想构建一个像这样的树

           1              8
          /\             /
         2  3           9
        /  / \
       4  5   6
         /
        7   

如何获得每个节点拥有的子数的数组,例如

1有6个孩子 2有1个孩子 3有3个孩子 ...等

0 个答案:

没有答案