代码拉取完成,页面将自动刷新
同步操作将从 弄月/tree 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/**
+------------------------------------------------------------------------------
* Tree 构建tree状数据
+------------------------------------------------------------------------------
* @author [email protected]
* @version v1.1
+------------------------------------------------------------------------------
*/
class Tree
{
/**
* 主键名称
* @var string
*/
private static $primary = 'id';
/**
* 父键名称
* @var string
*/
private static $parentId = 'parent_id';
/**
* 子节点名称
* @var string
*/
private static $child = 'child';
/**
* 修改主键名称、父键名称、子节点名称
* @param string $primary
* @param string $parentId
* @param string $child
*/
public static function setConfig($primary = '', $parentId = '', $child = ''){
if(!empty($primary)) self::$primary = $primary;
if(!empty($parentId)) self::$parentId = $parentId;
if(!empty($child)) self::$child = $child;
}
/**
* 生成Tree
* @param array $data
* @param number $index
* @return array
*/
public static function makeTree(&$data, $index = 0)
{
$childs = self::findChild($data, $index);
if(empty($childs))
{
return $childs;
}
foreach($childs as $k => &$v)
{
if(empty($data)) break;
$child = self::makeTree($data, $v[self::$primary]);
if(!empty($child))
{
$v[self::$child] = $child;
}
}
unset($v);
return $childs;
}
/**
* 查找子类
* @param array $data
* @param number $index
* @return array
*/
public static function findChild(&$data, $index)
{
$childs = [];
foreach ($data as $k => $v){
if($v[self::$parentId] == $index){
$childs[] = $v;
unset($v);
}
}
return $childs;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。