//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写入数据库