都说无限级分类很难,无非就是遍历、递归一个数组,下面给大家分享一个无限级分类代码,该代码适用于ThinkPHP5以上版本
具体实现看图:
控制器层:
公共文件:common.php中这样写
是不是很简单,其实不难,细心思考代码就run起来啦!
下面附上代码:
控制器层:
<?php
namespace app\imdex\controller;
use think\Controller;
use app\index\model\Category as CategoryModel;
use think\Db;
class Index extends Base
{
public function index() {
$category = CategoryModel::all();
$arrs = [];
$cateNodes = json_encode(recur($arrs,$category));
echo $cateNodes; //这里一定要用echo 不然不会报错数据读不出来
}
}
公共层:common.php
<?php
//应用公共文件
function recur($arrs,$category,$parent_id = 0)
{
foreach ($category as $k => $v) {
if($v['pid'] == $parend_id)
{
$arr = array('id'=>$v['id'],'children'=>array());
array_push($arrs,$arr);
}
}
return $arrs;
}