thinkphp返回json(thinkphp5框架实现数据库读取的数据转换成json格式示例)
类别:编程学习 浏览量:1915
时间:2021-10-08 00:26:46 thinkphp返回json
thinkphp5框架实现数据库读取的数据转换成json格式示例本文实例讲述了thinkphp5框架实现数据库读取的数据转换成json格式。分享给大家供大家参考,具体如下:
首先从数据库读数据,然后调用list_to_tree方法,再调用findchild方法,最后输出
|
$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' ); |
下面是两个方法:
|
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
您可能感兴趣
- SQLServer中JSON文档型数据的查询问题解决(SQLServer中JSON文档型数据的查询问题解决)
- python3json序列化(Python3.5 Json与pickle实现数据序列化与反序列化操作示例)
- mysql xml转换json(Mysql将查询结果集转换为JSON数据的实例代码)
- eval解析json字符串
- php 结果集转json(PHP的JSON封装、转变及输出操作示例)
- 纯css和js有什么区别(CSS语法与JSON、JS对象区别比较)
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- react组件分析(react-diagram 序列化Json解读案例分析)
- php生成json信息(php使用json-schema模块实现json校验示例)
- laravel 数据表格(Laravel自定义 封装便捷返回Json数据格式的引用方法)
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- mysql 查询json(MySQL处理JSON常见函数的使用)
- JSON中的特殊字符
- console.table调试JSON对象或字符串
- json和xml比较与区别
- pythonjson库(Python常用的json标准库)
- 乔欣 古装剧中的高颜值(古装剧中的高颜值)
- 怎么才可以财富自由(如何让自己实现财富自由)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
热门推荐
- laravel 开发自定义组件(laravel实现上传图片并在页面显示的例子)
- css快速开发(纯 CSS 撸一个漂亮的加载)
- css定位布局讲解(css position定位属性_动力节点Java学院整理)
- 100道python真实面试题附答案(值得收藏的10道python 面试题)
- 怎么用apache自定义网站根目录(Apache 二级域名实现方法介绍)
- sql server与erp的结合应用(SQL Server中with as使用介绍)
- html5可以做语音聊天吗(基于Html5实现的语音搜索功能)
- Python实现合并两个有序链表的方法示例(Python实现合并两个有序链表的方法示例)
- SQL语句查询SQL SERVER作业的调度信息
- mysql的复制原理(浅析MySQL的WriteSet并行复制)