我想在yii2中获得树的级别。树中的每个父用户都可以拥有无限数量的用户
->parent_user
-->sub_user [1 level]
--->sub_user [2 level]
---->etc [n level]
我如何获得关卡编号?
我的数据库结构id | name | parent_id
我的树输出代码
public function getArray(){
$user = User::find()->all();
$array = [];
foreach($user as $u){
$array[$u->user_id][] = $v;
}
return $array;
}
public static function outTree($user_id){
$array = self::getArray();
if(isset($array[$user_id])){
echo '<ul>';
foreach($array[$user_id] as $v){
echo '<li>'.$v->username.'</li>';
self::outTree($v->id);
}
echo '</ul>
任何建议表示赞赏。谢谢!
答案 0 :(得分:0)
<?php
function show_keys($ar, $i=1){
echo "<table width='100%' border='1' bordercolor='#6699CC' cellspacing='0' cellpadding='5'><tr valign='top'>";
foreach ($ar as $k => $v ) {
echo "<td align='center' bgcolor='#EEEEEE'>
<table border='2' cellpadding='3'><tr><td bgcolor='#FFFFFF'><font face='verdana' size='1'>
" . $i . "
</font></td></tr></table>";
if (is_array($ar[$k])) { $i++;
show_keys ($ar[$k],$i);
}
echo "</td>";
}
echo "</tr></table>";
}
// Multidimensional array ->
$arvore = array();
$arvore['2'] = array();
$arvore['2']['22'] = array('2.1.1', '2.1.2', '2.1.3');
$arvore['2']['22'] = array('2.2.1', '2.2.2', '2.2.3');
$arvore['2']['22'] = array('2.3.1', '2.3.2', '2.3.3');
$arvore['2']['22']['222'] = array('3.1.1', '3.1.2', '3.1.3');
$arvore['2']['22']['222'] = array('3.2.1', '3.2.2', '3.2.3');
$arvore['2']['22']['222'] = array('3.3.1', '3.3.2'=>array('3.3.2.1', '3.3.2.2'), '3.3.3');
// <-
show_keys($arvore);
?>