thinkphp5框架实现数据库读取的数据转换成json格式示例

吾爱主题 阅读:183 2021-08-29 16:28:00 评论:0

本文实例讲述了thinkphp5框架实现数据库读取的数据转换成json格式。分享给大家供大家参考,具体如下:

首先从数据库读数据,然后调用list_to_tree方法,再调用findchild方法,最后输出

?
1 2 3 4 5 6 7 8 $category = DB::name( 'Category' ); $category_list = $category ->select(); $data = $this ->list_to_tree( $category_list , 'category_id' , 'category_parent_id' , 'children' ); //调用下面的方法 $data = $this ->findChild( $data ); header( 'Content-Type:application/json; charset=utf-8' ); exit (json_encode( $data ,JSON_UNESCAPED_UNICODE)); // return $this->fetch('index'); $this ->ajaxReturn( $data , 'JSON' );

下面是两个方法:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 function findChild( $arr ){    static $tree = array ();    foreach ( $arr as $key => $val ){        $tree []= $val ;        if (isset( $val [ '_child' ])){          $this ->findChild( $val [ '_child' ]);        }      } return $tree ; } /**   * 把返回的数据集转换成Tree   * @access public   * @param array $list 要转换的数据集   * @param string $pid parent标记字段   * @param string $level level标记字段   * @return array   */ function list_to_tree( $list , $pk = 'id' , $pid = 'pid' , $child = '_child' , $root =0) {    // 创建Tree    $tree = array ();    if ( is_array ( $list )) {    // 创建基于主键的数组引用    $refer = array ();    foreach ( $list as $key => $data ) {      $refer [ $data [ $pk ]] =& $list [ $key ];    }    foreach ( $list as $key => $data ) {      // 判断是否存在parent      $parentId = $data [ $pid ];      if ( $root == $parentId ) {      $tree [] =& $list [ $key ];      } else {      if (isset( $refer [ $parentId ])) {        $parent =& $refer [ $parentId ];        $parent [ $child ][] =& $list [ $key ];      }      }    }    }    return $tree ; }

转换之前的数据,直接从数据库读取,不能使用:

转换之后的数据,可以被ztree树插件直接使用的json格式:

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/qq_32674347/article/details/81435367

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容