コースのリストと、学生が受講するのに必要な時間のリストがあります。コースは次のとおりです。
CON8101 Residential Building/Estimating 16 hrs/w
CON8411 Construction Materials I 4 hrs/w
CON8430 Computers and You 4 hrs/w
MAT8050 Geometry and Trigonometry 4 hrs/w
私はこの正規表現を使用して、コースの名前と各コースが毎週かかる時間を抽出しました。4つ以上のコースがあります。4つは上記の例です。50ものコースがあります。
$courseHoursRegEx = "/\s[0-9]{1,2}\shrs/w/";
$courseNameRegEx = "/[a-zA-Z]{3}[0-9]{4}[A-Z]{0,1}\s?/[a-zA-Z]{3,40}/";
そして、次の関数を適用して(100%正しいかどうかはわかりません)、正規表現の文字列を抽出します。$ courseLineの使用は、私が以前に開いたテキストドキュメントから各行の文字列を保存した変数です。文字列から抽出された合計時間を追跡します。
$ coursesは、ユーザーがhtmlセクションに入力するチェックボックスの配列です。
$totalHours += GetCourseHours($courseLine);
function GetCourseHours($couseLine)
{
if(!preg_match($courseHoursRegEx, $courseLine))
{
return $courseLine;
}
}
function GetCourseName($courseLine)
{
if(!preg_match($courseNameRegEx, $courseLine))
{
return $courseLine;
}
}
foreachループを使用して、選択したすべてのコースを出力し、テーブルに分類しました。
foreach($courses as $course)
{
$theCourse = GetCourseName($course);
$theHours = GetCourseHours($course)
}
編集:出力コード
for($i = 1; $i <= $courses; ++$i)
{
printf("<tr><td>\$%.2f</td><td>\$%.2f</td></tr>", $theCourse, $theHours);
}
自分が持っているものを、コース名と各コースの時間で整理された動的テーブルに出力する方法がわかりません。ページを実行できず、構文エラーも見つかりません。それが私のロジックであると心配していました。