根据返回的id 数组,将数组转为多维数组
$items = [
['id' => 1, 'name' => '电子产品', 'parent_id' => 0],
['id' => 2, 'name' => '手机', 'parent_id' => 1],
['id' => 3, 'name' => '电脑', 'parent_id' => 1],
['id' => 4, 'name' => 'iPhone', 'parent_id' => 2],
['id' => 5, 'name' => 'MacBook', 'parent_id' => 3]
];
$alls = $this->Lists($items);
function addeditabilLists($list, $pk = 'id', $pid = 'pid', $root = 0)
{
$tree = array();
if (is_array($list)) {
$refer = array();
foreach ($list as $key => $data) {
$refer[$data[$pk]] = &$list[$key];
}
foreach ($list as $key => $data) {
$parentId = $data[$pid];
if ($root == $parentId) {
$tree[] = &$list[$key];
} else {
if (isset($refer[$parentId])) {
$parent = &$refer[$parentId];
$parent['child'][] = &$list[$key];
}
}
}
}
return $tree;
}