zoukankan      html  css  js  c++  java
  • php数据还原

    源数据:
    { "openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ", "courseID": "EC A7 D5 95", "courseName": "tiandizhijian", "studentCount": "2", "parts": [{ "actions": [{ "typeID": "30" }, { "typeID": "30" } ], "singleTime": "30", "restTime": "60" }, { "actions": [{ "typeID": "30" }, { "typeID": "30" } ], "singleTime": "30", "restTime": "60" } ] }

     存入数据库示意 

    uniqueCode为每节课的编码(以区分courseID重复的情景,表示唯一性),actionsIndex表示

    {
    "actions": [...],
    "singleTime": "30",
    "restTime": "60"
    }
    这段数据在parts中的下标,为取数据时辨别typeID的分组作个标识

    select数据之后数据为:

    [{
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "E2EFE01E18F90861C667CED170552FC3",
    	"courseID": "51 5D 49 F3",
    	"courseName": "u5927u660e",
    	"studentCount": "2",
    	"actionsIndex": "0",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "1"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "E2EFE01E18F90861C667CED170552FC3",
    	"courseID": "51 5D 49 F3",
    	"courseName": "u5927u660e",
    	"studentCount": "2",
    	"actionsIndex": "0",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "3"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "E2EFE01E18F90861C667CED170552FC3",
    	"courseID": "51 5D 49 F3",
    	"courseName": "u5927u660e",
    	"studentCount": "2",
    	"actionsIndex": "1",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "5"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "E2EFE01E18F90861C667CED170552FC3",
    	"courseID": "51 5D 49 F3",
    	"courseName": "u5927u660e",
    	"studentCount": "2",
    	"actionsIndex": "1",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "7"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "0",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "1"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "0",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "3"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "0",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "5"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "1",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "7"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "1",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "2"
    }, {
    	"openID": "ouGzJv7G23rRCC0Bt70e1JLM70yQ",
    	"uniqueCode": "8875ED583EFCB51A3603FE22309AA57F",
    	"courseID": "66 6A CC 98",
    	"courseName": "u4e1cu6b27u4e1c",
    	"studentCount": "6",
    	"actionsIndex": "1",
    	"singleTime": "30",
    	"restTime": "60",
    	"typeID": "4"
    }]
    

      

    将这些数据变为源数据的格式返回?

    $arr = array();
    		foreach ($res as $key) {
    			# code...
    			if(!array_key_exists($key->courseid ,$arr)){
    				$arr[$key->courseid] = array();
    				$arr[$key->courseid]['actions'] = array();
    			}
    			$arr[$key->courseid]['courseID'] = $key->courseid;
    			$arr[$key->courseid]['courseName'] = $key->courseName;
    			$arr[$key->courseid]['usageCount'] = $key->usageCount;
    			
    			$a = [
    				"typeID" => $key->typeID,
    				"setCount" => $key->setCount,
    				"countPerSet" => $key->countPerSet,
    				"timeInterval" => $key->timeInterval,
    			];
    			array_push($arr[$key->courseid]['actions'], $a);
    		}
    		$res = array();
    		foreach ($arr as $key => $value) {
    			# code...
    			array_push($res, $value);
    		}
    		$obj = new stdClass();
    		$obj->lessons = $res;
              //$obj为返回数据

      

  • 相关阅读:
    深入理解CSS中的层叠上下文和层叠顺序
    利用CSS3制作淡入淡出动画效果
    <link>标签的rel属性全解析
    解决<pre>标签里的文本换行(兼容IE, FF和Opera等)
    HTML特殊字符大全
    清除浮动4种方法总结下
    打开wamp中的phpmyadmin出现403的错误
    js访问CSS最终计算样式
    js 正则 exec() 和 match() 数据抽取
    函数表达式中,函数名称在函数体内是只读的
  • 原文地址:https://www.cnblogs.com/nullman/p/10313476.html
Copyright © 2011-2022 走看看