public function treeLevel(array $data, int $pid = 0, string $html = ‘–’, int $level = 0) {
static
a
r
r
=
[
]
;
f
o
r
e
a
c
h
(
arr = []; foreach (
arr=[];foreach(data as KaTeX parse error: Expected '}', got 'EOF' at end of input: … if (pid == $val[‘pid’]) {
// 重复一个字符多少次
v
a
l
[
′
h
t
m
l
′
]
=
s
t
r
r
e
p
e
a
t
(
val['html'] = str_repeat(
val[′html′]=strrepeat(html, $level * 2);
$val[‘level’] = $level + 1;
$arr[] = $val;
t
h
i
s
−
>
t
r
e
e
L
e
v
e
l
(
this->treeLevel(
this−>treeLevel(data, $val[‘id’], $html, $val[‘level’]);
}
}
return $arr;
}
/**
* 数据多层级
* @param array $data
* @param int $pid
* @return array
*/
public function subTree(array $data, int $pid = 0) {
// 返回的结果
$arr = [];
foreach ($data as $val) {
// 给定的PID是当前记录的上级ID
if ($pid == $val['pid']) {
// 递归
$val['sub'] = $this->subTree($data,$val['id']);
$arr[] = $val;
}
}
return $arr;
}