//underlineExplodeArray[1] is course key name serial number, [2] is course part serial number. Example: "COURSE_0_0". //Load COURSE_TYPE_TRAIN course name $courseNameT = "COURSE_" . $underlineExplodeArray[1]; //Load $classroomScheduleArray key names $coursePartName = "COURSE_PART_" . $underlineExplodeArray[2]; $capabilityPartName = "CAPABILITY_" . $coursePartName; $progressPartName = "PROGRESS_" . $coursePartName; $teacherPartName = "TEACHER_PART_" . $underlineExplodeArray[2]; $classPartName = "CLASS_PART_" . $underlineExplodeArray[2]; //Load week number $week = $totalScheduleArray[$totalScheduleCounter]['WEEK']; //Load $classroomScheduleArray serial number //TODO: Optimize the serial method. $classroomScheduleArrayCount0 = count($classroomScheduleArray); $serial = $classroomScheduleArrayCount0; $serial = serial_counter($classroomScheduleArray, $serial, $classPartName); //概论课 if ($classTitleInfo == "G" && $underlineExplodeArray[1] == 0) { //For "COURSE_0". [WARING:Hardcode] //Load in classroom schedule for ($classroomCounter = 0; $classroomCounter < $classroomListArrayCount0; $classroomCounter++) { if ($classroomListArray[$classroomCounter]['CLASSROOM_TYPE'] == "J" && $classroomCapabilityArray[$classroomCounter][$week][$capabilityPartName] > 0 && ($classroomCapabilityArray[$classroomCounter][$week][$progressPartName] == $courseNameG || $classroomCapabilityArray[$classroomCounter][$week][$progressPartName] == "")) { //Load data in $classroomScheduleArray $classroomScheduleArray[$serial]['SEMESTER_WEEK'] = $SEMESTER_WEEK_SET; $classroomScheduleArray[$serial]['WEEK'] = $week; $classroomScheduleArray[$serial]['CLASSROOM_NAME'] = $classroomListArray[$classroomCounter]['CLASSROOM_NAME']; $classroomScheduleArray[$serial]['CLASSROOM_TYPE'] = "J"; $classroomScheduleArray[$serial][$coursePartName] = $courseNameG; $classroomScheduleArray[$serial][$classPartName] = $value; //Classroom capability info update $classroomCapabilityArray[$classroomCounter][$week][$capabilityPartName]--;
function serial_counter($total_schedule_array, $serial, $key) { $total_schedule_array; // $serial; // $key; // if ($total_schedule_array[$serial][$key] != "" || $total_schedule_array[$serial][$key] != 0) { $serial++; $serial = serial_counter($total_schedule_array, $serial, $key); } return $serial; }
$totalScheduleArray; //var_dump($tempScheduleArray); //按周循环 $appointedClassArrayCount0 = count($tempScheduleArray); $weekTemp = 0; $totalScheduleArrayCount0 = 0; for ($week = 0; $week < 5; $week++) { for ($classCounter = 0; $classCounter < $appointedClassArrayCount0; $classCounter++) { if ($tempScheduleArray[$classCounter][$week]) { foreach ($tempScheduleArray[$classCounter][$week] as $key => $value) { if ($week != $weekTemp) { $totalScheduleArrayCount0 = count($totalScheduleArray); $weekTemp++; } $serial = $totalScheduleArrayCount0; $serial = serial_counter($totalScheduleArray, $serial, $key); $totalScheduleArray[$serial]['SEMESTER_WEEK'] = $SEMESTER_WEEK_SET; //1 $totalScheduleArray[$serial]['WEEK'] = $week; $totalScheduleArray[$serial][$key] = $value; } } } } //将$appointedClassArray写入数据库 $appointedClassArrayCount0 = count($appointedClassArray); for ($i = 0; $i < $appointedClassArrayCount0; $i++) { $targetId = $appointedClassArray[$i]['ID']; table_data_change($CLASS_TABLE_NAME, $CLASS_TABLE_KEY_NAMES_ARRAY, $targetId, $appointedClassArray[$i]); } //将$totalScheduleArray写入数据库