我在这个结构中有一个数组,其中包含用户元素,每个用户都可以与另一个用户相关
我只想让每个用户都包含其子用户的用户树成为一棵树。
Array
(
[0] => Array
(
[username] => user1
[parent_user] => null
)
[1] => Array
(
[username] => user2
[parent_user] => user1
)
[2] => Array
(
[username] => user3
[parent_user] => user2
)
[3] => Array
(
[username] => user4
[parent_user] => user3
)
[4] => Array
(
[username] => user5
[parent_user] => null
)
)
这里user4在user3用户中,user3在user2用户中包含其用户,user2在user1用户中包含其用户,user5在user1用户中包含其用户
所需的结构类似于
array(
[username] => user1
[users] => array(
[0] => array(
username => user5
users => array()
)
[1] => array(
username => user2
users => array(
[0] => array(
username => user3
users => array(
[0] => array(
[0] => array(
username => user4
users => array()
)
)
)
)
)
)
)
)
试试这个
function get_child($parent,$users)//a function for recursive call
{
$child=array();
foreach($users as $user)
{
if($user['parent_user']==$parent)
{
$child[]=array("username"=>$user['username']);
}
}
if(sizeof($child)>0)
{
foreach($child as &$c)
{
$c['users']=get_child($c['username'],$users);
}
}
return $child;
}
现在编写以下代码
//$users //lets assume your main array name $users
$root_user=array();
foreach($users as $user)
{
if($user['parent_user']==null)
{
$root_user[]=array("username"=>$user['username']);
}
}
foreach($root_user as &$user)
{
$user['users']=get_child($user['username'],$users);
}
print_r($root_user);//now print out the root_user which contains your desired result
甚至可以使用以下代码简单地完成
$root_user=get_child(null,$users);
print_r($root_user);
题目描述 希望将上面数组用js转化成下面格式,请问如何实现呢
树形结构组件。 Usage 全部引入 import { TreeView } from 'beeshell'; 按需引入 import { TreeView } from 'beeshell/dist/components/TreeView'; Examples Code 详细 Code ```js import { TreeView } from 'beeshell'; const nest
问题内容: 是否有一个良好的可用(标准Java)数据结构来表示Java中的树? 具体来说,我需要代表以下内容: 任何节点上的树都可以有任意数量的子代 每个节点(在根之后)只是一个字符串(其子代也是字符串) 我需要能够获得代表给定节点的输入字符串的所有子代(某种形式的列表或字符串数组) 是否有可用的结构或者我需要创建自己的结构(如果这样的话,实施建议会很好)。 问题答案: 这里: 那是可用于或任
主要内容:树的结点,子树和空树,结点的度和层次,有序树和无序树,森林,树的表示方法,总结之前介绍的所有的 数据结构都是 线性存储结构。本章所介绍的树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。 (A)
有个以下格式的省市区数组对象: 请问如何用Ts变为以下格式的二维数组?
扁平数组的结构如上,每个目录下都可以添加数据 如何将这个数组转成树形的结构啊,转成如下的形式 目录层级的name就取对应的 xxxLevelStr