PHP TREE【PHP树形菜单jSON】--NB


/**
 * Arr_list_to_tree 
 *
 * @param [type] $lists
 * @param string $id
 * @param string $pid
 * @param string $child
 * @param integer $root
 * @return void
 */

class Arr_list_to_tree_class
{
    function Arr_list_to_tree($lists, $id = 'id', $pid = 'pid', $children = 'children', $root = 0)
    {
        // 创建Tree
        $tree = array();
        if (is_array($lists)) {
            // 创建基于主键的数组引用
            $refer = array();
            foreach ($lists as $key => $data) {
                $refer[$data[$id]] = &$lists[$key];
            }
            foreach ($lists as $key => $data) {
                // 判断是否存在parent
                $parent_Id = $data[$pid];
                if ($root == $parent_Id) {
                    $tree[] = &$lists[$key];
                } else {
                    if (isset($refer[$parent_Id])) {
                        $parent = &$refer[$parent_Id];
                        $parent[$children][] = &$lists[$key];
                    }
                }
            }
        }
        return $tree;
    }
}
$show_data_tree = new Arr_list_to_tree_class();
$show_tree = $show_data_tree->Arr_list_to_tree($sql_back_datas, 'm_id', 'm_pid', 'children', 0);


$show_tree_diy = array(
    'code' => 200,
    'msg' => '成功',
    'data' => $show_tree
);
echo json_encode($show_tree_diy);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值