Exemple #1
0
// ----------------------------------------------------------------------------
// Prepare input by mapping question numbers to role numbers.
// ----------------------------------------------------------------------------
// Bijective map.
$map_ques_to_role = array(15 => 1, 16 => 2, 17 => 3, 18 => 4);
// Modify $student_list, applying the map to question numbers.
foreach ($student_list as &$role_response_list) {
    foreach ($role_response_list as &$ques_resp_pair) {
        $question_num = $ques_resp_pair[0];
        $ques_resp_pair[0] = $map_ques_to_role[$question_num];
    }
}
// ----------------------------------------------------------------------------
// Invoke suggestion algorithm.
// ----------------------------------------------------------------------------
$groups = SugAlg::compute_groups($student_list);
// ----------------------------------------------------------------------------
// Add names.
// ----------------------------------------------------------------------------
$query = "SELECT student_id, name FROM student_info";
$name_responses = DB::query($query);
$names = array();
foreach ($name_responses as $name_record) {
    $student_id = (int) $name_record['student_id'];
    $name = $name_record['name'];
    $names[$student_id] = $name;
}
// StuId -> [StuId, Name]
function add_name($stu_id)
{
    global $names;