数组转二叉树数组 引用方式
//数组转树形数组 形参最后一个值 boll true:重置索引 false:保留key 默认:true
protected function arrToTree($array,string $childrenKey = 'children',string $key='id',string $pkey='pid'){
$args = func_get_args();
$reindex = !end($args);
$items = [];
foreach($array as $v) $items[$v[$key]] = $v;
foreach($items as $item) $reindex ? $items[$item[$pkey]][$childrenKey][$item[$key]] = &$items[$item[$key]] : $items[$item[$pkey]][$childrenKey][] = &$items[$item[$key]];
return isset($items[0][$childrenKey]) ? $items[0][$childrenKey] : [];
}