public function sort_data($data, $pk = 'id', $pid = 'pid', $child = 'children', $root = 0)
{
// 创建Tree
$tree = [];
if (!is_array($data)) {
return false;
}
//创建基于主键的数组引用
$refer = [];
foreach ($data as $key => $value_data) {
$refer[$value_data[$pk]] = &$data[$key];
}
foreach ($data as $key => $value_data) {
// 判断是否存在parent
$parentId = $value_data[$pid];
if ($root == $parentId) {
$tree[] = &$data[$key];
} else {
if (isset($refer[$parentId])) {
$parent = &$refer[$parentId];
$parent[$child][] = &$data[$key];
}
}
}
return $tree;
}
array(19) {
[0] => array(4) {
["id"] => int(1)
["name"] => string(12) "常规保养"
["pid"] => int(0)
["children"] => array(13) {
[0] => array(3) {
["id"] => int(2)
["name"] => string(6) "机油"
["pid"] => int(1)
}
[1] => array(3) {
["id"] => int(3)
["name"] => string(15) "机油滤清器"
["pid"] => int(1)
}
[2] => array(3) {
["id"] => int(4)
["name"] => string(15) "空气滤清器"
["pid"] => int(1)
}
[3] => array(3) {
["id"] => int(5)
["name"] => string(15) "燃油滤清器"
["pid"] => int(1)
}
[4] => array(3) {
["id"] => int(6)
["name"] => string(18) "燃油系统养护"
["pid"] => int(1)
}
[5] => array(3) {
["id"] => int(7)
["name"] => string(15) "发动机养护"
["pid"] => int(1)
}
[6] => array(3) {
["id"] => int(8)
["name"] => string(18) "发动机舱清洗"
["pid"] => int(1)
}
[7] => array(3) {
["id"] => int(35)
["name"] => string(15) "小保养服务"
["pid"] => int(1)
}
[8] => array(3) {
["id"] => int(41)
["name"] => string(14) "机油XX服务"
["pid"] => int(1)
}
[9] => array(3) {
["id"] => int(54)
["name"] => string(9) "前雨刷"
["pid"] => int(1)
}
[10] => array(3) {
["id"] => int(57)
["name"] => string(15) "助力转向油"
["pid"] => int(1)
}
[11] => array(3) {
["id"] => int(80)
["name"] => string(18) "发动机清洗油"
["pid"] => int(1)
}
[12] => array(3) {
["id"] => int(84)
["name"] => string(9) "不冻液"
["pid"] => int(1)
}
}
}
[1] => array(4) {
["id"] => int(9)
["name"] => string(12) "常用配件"
["pid"] => int(0)
["children"] => array(12) {
[0] => array(3) {
["id"] => int(10)
["name"] => string(9) "后雨刷"
["pid"] => int(9)
}
[1] => array(3) {
["id"] => int(11)
["name"] => string(9) "前大灯"
["pid"] => int(9)
}
[2] => array(3) {
["id"] => int(12)
["name"] => string(6) "雾灯"
["pid"] => int(9)
}
[3] => array(3) {
["id"] => int(13)
["name"] => string(9) "蓄电池"
["pid"] => int(9)
}
[4] => array(3) {
["id"] => int(58)
["name"] => string(9) "远光灯"
["pid"] => int(9)
}
[5] => array(3) {
["id"] => int(59)
["name"] => string(9) "近光灯"
["pid"] => int(9)
}
[6] => array(3) {
["id"] => int(64)
["name"] => string(15) "左前减震器"
["pid"] => int(9)
}
[7] => array(3) {
["id"] => int(65)
["name"] => string(15) "右前减震器"
["pid"] => int(9)
}
[8] => array(3) {
["id"] => int(66)
["name"] => string(15) "左后减震器"
["pid"] => int(9)
}
[9] => array(3) {
["id"] => int(67)
["name"] => string(15) "右后减震器"
["pid"] => int(9)
}
[10] => array(3) {
["id"] => int(68)
["name"] => string(45) "附件皮带套装(发电机皮带套装)"
["pid"] => int(9)
}
[11] => array(3) {
["id"] => int(69)
["name"] => string(18) "正时皮带套装"
["pid"] => int(9)
}
}
}
[2] => array(4) {
["id"] => int(14)
["name"] => string(12) "空调养护"
["pid"] => int(0)
["children"] => array(7) {
[0] => array(3) {
["id"] => int(15)
["name"] => string(15) "空调滤清器"
["pid"] => int(14)
}
[1] => array(3) {
["id"] => int(16)
["name"] => string(18) "空调管路杀菌"
["pid"] => int(14)
}
[2] => array(3) {
["id"] => int(17)
["name"] => string(15) "空调制冷剂"
["pid"] => int(14)
}
[3] => array(3) {
["id"] => int(18)
["name"] => string(18) "压缩机冷冻油"
["pid"] => int(14)
}
[4] => array(3) {
["id"] => int(19)
["name"] => string(24) "蒸发箱可视化清洗"
["pid"] => int(14)
}
[5] => array(3) {
["id"] => int(20)
["name"] => string(27) "空调压缩机管路养护"
["pid"] => int(14)
}
[6] => array(3) {
["id"] => int(56)
["name"] => string(9) "冷冻油"
["pid"] => int(14)
}
}
}
[3] => array(4) {
["id"] => int(21)
["name"] => string(12) "刹车养护"
["pid"] => int(0)
["children"] => array(8) {
[0] => array(3) {
["id"] => int(22)
["name"] => string(9) "刹车油"
["pid"] => int(21)
}
[1] => array(3) {
["id"] => int(23)
["name"] => string(12) "刹车片前"
["pid"] => int(21)
}
[2] => array(3) {
["id"] => int(24)
["name"] => string(12) "刹车盘前"
["pid"] => int(21)
}
[3] => array(3) {
["id"] => int(55)
["name"] => string(18) "刹车系统养护"
["pid"] => int(21)
}
[4] => array(3) {
["id"] => int(60)
["name"] => string(12) "刹车盘后"
["pid"] => int(21)
}
[5] => array(3) {
["id"] => int(61)
["name"] => string(12) "刹车片后"
["pid"] => int(21)
}
[6] => array(3) {
["id"] => int(62)
["name"] => string(18) "前刹车报警线"
["pid"] => int(21)
}
[7] => array(3) {
["id"] => int(63)
["name"] => string(18) "后刹车报警线"
["pid"] => int(21)
}
}
}
[4] => array(4) {
["id"] => int(25)
["name"] => string(12) "水箱养护"
["pid"] => int(0)
["children"] => array(3) {
[0] => array(3) {
["id"] => int(26)
["name"] => string(9) "防冻液"
["pid"] => int(25)
}
[1] => array(3) {
["id"] => int(27)
["name"] => string(12) "水箱清洗"
["pid"] => int(25)
}
[2] => array(3) {
["id"] => int(28)
["name"] => string(18) "水箱防锈保护"
["pid"] => int(25)
}
}
}
[5] => array(4) {
["id"] => int(29)
["name"] => string(18) "深度清洁养护"
["pid"] => int(0)
["children"] => array(6) {
[0] => array(3) {
["id"] => int(30)
["name"] => string(9) "火花塞"
["pid"] => int(29)
}
[1] => array(3) {
["id"] => int(31)
["name"] => string(15) "节气门清洗"
["pid"] => int(29)
}
[2] => array(3) {
["id"] => int(32)
["name"] => string(15) "喷油嘴清洗"
["pid"] => int(29)
}
[3] => array(3) {
["id"] => int(33)
["name"] => string(18) "进气系统清洗"
["pid"] => int(29)
}
[4] => array(3) {
["id"] => int(34)
["name"] => string(18) "三元催化清洗"
["pid"] => int(29)
}
[5] => array(3) {
["id"] => int(36)
["name"] => string(12) "变速箱油"
["pid"] => int(29)
}
}
}
[6] => array(4) {
["id"] => int(38)
["name"] => string(12) "美容洗车"
["pid"] => int(0)
["children"] => array(9) {
[0] => array(3) {
["id"] => int(39)
["name"] => string(6) "镀晶"
["pid"] => int(38)
}
[1] => array(3) {
["id"] => int(40)
["name"] => string(6) "镀膜"
["pid"] => int(38)
}
[2] => array(3) {
["id"] => int(42)
["name"] => string(6) "打蜡"
["pid"] => int(38)
}
[3] => array(3) {
["id"] => int(43)
["name"] => string(6) "封釉"
["pid"] => int(38)
}
[4] => array(3) {
["id"] => int(44)
["name"] => string(6) "贴膜"
["pid"] => int(38)
}
[5] => array(3) {
["id"] => int(45)
["name"] => string(12) "隐形车衣"
["pid"] => int(38)
}
[6] => array(3) {
["id"] => int(46)
["name"] => string(12) "真皮护理"
["pid"] => int(38)
}
[7] => array(3) {
["id"] => int(70)
["name"] => string(6) "喷漆"
["pid"] => int(38)
}
[8] => array(3) {
["id"] => int(71)
["name"] => string(12) "钣金喷漆"
["pid"] => int(38)
}
}
}
[7] => array(4) {
["id"] => int(47)
["name"] => string(12) "汽车改装"
["pid"] => int(0)
["children"] => array(10) {
[0] => array(3) {
["id"] => int(48)
["name"] => string(18) "真皮座椅改装"
["pid"] => int(47)
}
[1] => array(3) {
["id"] => int(49)
["name"] => string(18) "顶棚翻新改装"
["pid"] => int(47)
}
[2] => array(3) {
["id"] => int(50)
["name"] => string(21) "内饰星空顶改装"
["pid"] => int(47)
}
[3] => array(3) {
["id"] => int(51)
["name"] => string(18) "流媒体记录仪"
["pid"] => int(47)
}
[4] => array(3) {
["id"] => int(52)
["name"] => string(12) "车身改色"
["pid"] => int(47)
}
[5] => array(3) {
["id"] => int(53)
["name"] => string(12) "中控导航"
["pid"] => int(47)
}
[6] => array(3) {
["id"] => int(76)
["name"] => string(15) "行车记录仪"
["pid"] => int(47)
}
[7] => array(3) {
["id"] => int(77)
["name"] => string(12) "汽车导航"
["pid"] => int(47)
}
[8] => array(3) {
["id"] => int(78)
["name"] => string(9) "流媒体"
["pid"] => int(47)
}
[9] => array(3) {
["id"] => int(79)
["name"] => string(12) "座椅加热"
["pid"] => int(47)
}
}
}
[8] => array(4) {
["id"] => int(72)
["name"] => string(12) "汽车装饰"
["pid"] => int(0)
["children"] => array(15) {
[0] => array(3) {
["id"] => int(73)
["name"] => string(12) "汽车把套"
["pid"] => int(72)
}
[1] => array(3) {
["id"] => int(74)
["name"] => string(6) "脚垫"
["pid"] => int(72)
}
[2] => array(3) {
["id"] => int(75)
["name"] => string(6) "坐垫"
["pid"] => int(72)
}
[3] => array(3) {
["id"] => int(82)
["name"] => string(12) "汽车香水"
["pid"] => int(72)
}
[4] => array(3) {
["id"] => int(83)
["name"] => string(12) "汽车挂件"
["pid"] => int(72)
}
[5] => array(3) {
["id"] => int(85)
["name"] => string(9) "烟灰缸"
["pid"] => int(72)
}
[6] => array(3) {
["id"] => int(86)
["name"] => string(6) "水杯"
["pid"] => int(72)
}
[7] => array(3) {
["id"] => int(87)
["name"] => string(12) "汽车摆件"
["pid"] => int(72)
}
[8] => array(3) {
["id"] => int(88)
["name"] => string(12) "手机支架"
["pid"] => int(72)
}
[9] => array(3) {
["id"] => int(89)
["name"] => string(6) "茶叶"
["pid"] => int(72)
}
[10] => array(3) {
["id"] => int(90)
["name"] => string(6) "手包"
["pid"] => int(72)
}
[11] => array(3) {
["id"] => int(91)
["name"] => string(12) "汽车饮品"
["pid"] => int(72)
}
[12] => array(4) {
["id"] => int(140)
["name"] => string(18) "塑型PRO360软包"
["pid"] => int(72)
["children"] => array(4) {
[0] => array(3) {
["id"] => int(130)
["name"] => string(9) "漫步者"
["pid"] => int(140)
}
[1] => array(3) {
["id"] => int(131)
["name"] => string(9) "攀登者"
["pid"] => int(140)
}
[2] => array(3) {
["id"] => int(132)
["name"] => string(9) "探索者"
["pid"] => int(140)
}
[3] => array(3) {
["id"] => int(133)
["name"] => string(9) "领航者"
["pid"] => int(140)
}
}
}
[13] => array(4) {
["id"] => int(141)
["name"] => string(15) "塑型360软包"
["pid"] => int(72)
["children"] => array(4) {
[0] => array(3) {
["id"] => int(134)
["name"] => string(12) "玲珑系列"
["pid"] => int(141)
}
[1] => array(3) {
["id"] => int(135)
["name"] => string(12) "锦绣系列"
["pid"] => int(141)
}
[2] => array(3) {
["id"] => int(136)
["name"] => string(12) "星耀系列"
["pid"] => int(141)
}
[3] => array(3) {
["id"] => int(137)
["name"] => string(12) "雅尊系列"
["pid"] => int(141)
}
}
}
[14] => array(4) {
["id"] => int(142)
["name"] => string(9) "360软包"
["pid"] => int(72)
["children"] => array(2) {
[0] => array(3) {
["id"] => int(138)
["name"] => string(12) "凌风系列"
["pid"] => int(142)
}
[1] => array(3) {
["id"] => int(139)
["name"] => string(12) "凌云系列"
["pid"] => int(142)
}
}
}
}
}
[9] => array(4) {
["id"] => int(92)
["name"] => string(15) "安装服务费"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(93)
["name"] => string(9) "工时费"
["pid"] => int(92)
}
}
}
[10] => array(4) {
["id"] => int(94)
["name"] => string(6) "家纺"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(95)
["name"] => string(15) "荞行健家纺"
["pid"] => int(94)
}
}
}
[11] => array(4) {
["id"] => int(96)
["name"] => string(12) "设备工具"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(103)
["name"] => string(12) "设备工具"
["pid"] => int(96)
}
}
}
[12] => array(4) {
["id"] => int(97)
["name"] => string(12) "洗车耗材"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(104)
["name"] => string(12) "洗车耗材"
["pid"] => int(97)
}
}
}
[13] => array(4) {
["id"] => int(98)
["name"] => string(12) "设计装修"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(105)
["name"] => string(12) "设计装修"
["pid"] => int(98)
}
}
}
[14] => array(4) {
["id"] => int(99)
["name"] => string(12) "整店输出"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(106)
["name"] => string(12) "整店输出"
["pid"] => int(99)
}
}
}
[15] => array(4) {
["id"] => int(100)
["name"] => string(9) "太阳膜"
["pid"] => int(0)
["children"] => array(4) {
[0] => array(3) {
["id"] => int(107)
["name"] => string(9) "太阳膜"
["pid"] => int(100)
}
[1] => array(3) {
["id"] => int(127)
["name"] => string(15) "量子前挡膜"
["pid"] => int(100)
}
[2] => array(3) {
["id"] => int(128)
["name"] => string(12) "侧后挡膜"
["pid"] => int(100)
}
[3] => array(3) {
["id"] => int(129)
["name"] => string(15) "全车膜套餐"
["pid"] => int(100)
}
}
}
[16] => array(4) {
["id"] => int(101)
["name"] => string(12) "隐形车衣"
["pid"] => int(0)
["children"] => array(1) {
[0] => array(3) {
["id"] => int(108)
["name"] => string(12) "隐形车衣"
["pid"] => int(101)
}
}
}
[17] => array(3) {
["id"] => int(102)
["name"] => string(9) "装具店"
["pid"] => int(0)
}
[18] => array(4) {
["id"] => int(116)
["name"] => string(6) "腊坊"
["pid"] => int(0)
["children"] => array(10) {
[0] => array(3) {
["id"] => int(117)
["name"] => string(18) "镜面修复系列"
["pid"] => int(116)
}
[1] => array(3) {
["id"] => int(118)
["name"] => string(18) "专业套装系列"
["pid"] => int(116)
}
[2] => array(3) {
["id"] => int(119)
["name"] => string(9) "蜡系列"
["pid"] => int(116)
}
[3] => array(3) {
["id"] => int(120)
["name"] => string(15) "保护剂系列"
["pid"] => int(116)
}
[4] => array(3) {
["id"] => int(121)
["name"] => string(15) "清洁剂系列"
["pid"] => int(116)
}
[5] => array(3) {
["id"] => int(122)
["name"] => string(21) "特殊清洗剂系列"
["pid"] => int(116)
}
[6] => array(3) {
["id"] => int(123)
["name"] => string(22) "洗车液/水蜡系列"
["pid"] => int(116)
}
[7] => array(3) {
["id"] => int(124)
["name"] => string(13) "设备/机器"
["pid"] => int(116)
}
[8] => array(3) {
["id"] => int(125)
["name"] => string(19) "辅助用品/工具"
["pid"] => int(116)
}
[9] => array(3) {
["id"] => int(126)
["name"] => string(9) "宣传品"
["pid"] => int(116)
}
}
}
}