=0 order by vOrder desc" ; $data = sqlsrv_query($conn,$sqls); if($data == true){ while($rs = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { array_push($ArrDepartmentData,array("level"=>1,"id"=>$rs['vID'],"pid"=>$rs['vType'],"name"=>$rs['vtext'],"Order"=>$rs['vOrder'])); } } $ArrDepartmentData=MultiLevelConvert2(MultiLevelConvert1($ArrDepartmentData,0),0); //组成多级数组 function MultiLevelConvert1($arr,$id){ $res = array(); foreach ($arr as $key => $value) { if ($value["pid"] == $id) { $value["child"]=MultiLevelConvert1($arr,$value["id"]); array_push($res,$value); } } return $res; } //重新整理成一维数组 function MultiLevelConvert2($arr,$level){ $res = array(); foreach ($arr as $key => $value) { if (count($value)>0) { $value["level"]=$level; if (count($value['child'])>0) { $res2=MultiLevelConvert2($value['child'],$level+1); array_pop($value);array_push($res,$value); foreach ($res2 as $key => $value) {array_push($res,$value);} } else {array_pop($value);array_push($res,$value);} } } return $res; } echo json_encode($ArrDepartmentData); //print_r($ArrDepartmentData); //echo json_encode($ArrDepartmentData); //foreach ($ArrDepartmentData as $value) { // for($x=0;$x<$value["level"];$x++) {echo "--";} // echo $value["name"].'
'; //} ?>