0

私はphpWebサイトを持っていますが、ここで学生の試験の詳細を入力するためのページを作成する必要があります。1つの試験には5つの科目があります。各科目には、試験日、開始時間、終了時間があります

つまり

Date: 02-nov-2012 
Start time: 2.30 pm
End time: 4.30 pm 

私は試験日時の重複をチェックする必要があります....つまり、1つの科目が持っている場合でも同様の日時を持たない他の科目

Exam Date:  02-nov-2012 
Start time: 3.00.pm 
End date: 5.00 pm 

避ける必要があります。それは無効です別の主題が持っています

Exam Date:  02-nov-2012 
Start time: 9.00.am 
End date: 2.00 pm 

有効です

私はそれが明らかだと思います...私はこれ以上詳細に説明することを知りません....私はこれをphpで検証することを知りません

4

1 に答える 1

0
$errors = array();

for ($i = 0; $i < count($exams); $i++) {
  for ($j = $i+1; $j < count($exams); $j++) {
    if (($exams[$j]['start_time'] >= $exams[$i]['start_time'] && ($exams[$j]['start_time'] <= $exams[$i]['end_time']) ||
        ($exams[$j]['end_time'] >= $exams[$i]['start_time'] && ($exams[$j]['end_time'] <= $exams[$i]['end_time'])) {
      $errors[] = "<li>Exams $i and $j overlap.</li>";
    }
  }
}

if ($errors) {
  echo "There were conflicts:<br><ul>\n ", join("\n ", $errors), "\n</ul>\n";
} else {
  echo "Congratulations, no conflicts!\n";
}
于 2012-10-27T06:58:19.820 に答える