GPA Calculator を作成しようとしています。PHPファイルに送信し、フォームからのすべてのデータをphp array()に保存するフォームがあります。同じ値を入力するまで、電卓はうまく機能します。いくつかの写真を表示するまで、これは意味がないと思います。
画像の問題は次のとおりです。
したがって、最初の画像では A を入力し、次に var_dump() を使用すると array(1) { [0]=> float(4.5) } を出力する別の A を入力します
2 番目の画像では、var_dump() は array(2) { [0]=> float(4) 1 => float(3.5) }です。
最初の画像の最初の行をスキップしています...AがREGで4.0、HONORSで4.5に等しい場合に備えて。array_combine() かもしれません
これが私のphpコードです:
//$_POST['grades'] for the grades <option> and $_POST['types'] for the type (REG, HONORS)
foreach(array_combine($_POST['grades'], $_POST['types']) as $code => $count)
{
if ($code == "A")
{
if ($count == "REGULAR")
{
$GradeArray[] = 4.0;
}
else if ($count == "HONORS")
{
$GradeArray[] = 4.5;
}
else if ($count == "COLLEGE")
{
$GradeArray[] = 5.0;
}
}
else if ($code == "B")
{
if ($count == "REGULAR")
{
$GradeArray[] = 3.0;
}
else if ($count == "HONORS")
{
$GradeArray[] = 3.5;
}
else if ($count == "COLLEGE")
{
$GradeArray[] = 4.0;
}
}
else if ($code == "C")
{
if ($count == "REGULAR")
{
$GradeArray[] = 2.0;
}
else if ($count == "HONORS")
{
$GradeArray[] = 2.5;
}
else if ($count == "COLLEGE")
{
$GradeArray[] = 3.0;
}
}
else if ($code == "D")
{
if ($count == "REGULAR")
{
$GradeArray[] = 1.0;
}
else if ($count == "HONORS")
{
$GradeArray[] = 1.5;
}
else if ($count == "COLLEGE")
{
$GradeArray[] = 2.0;
}
}
else if ($code == "F")
{
if ($count == "REGULAR")
{
$GradeArray[] = 0.0;
}
else if ($count == "HONORS")
{
$GradeArray[] = .5;
}
else if ($count == "COLLEGE")
{
$GradeArray[] = 1.0;
}
}
}
やり直す必要があるのは foreach() ステートメント全体かもしれません...誰かがそう言うなら、私はロジックをもう一度書くつもりです...
コードで質問を詰まらせたくないので、html が絶対に必要な場合は、質問してください。編集を追加します。
EDIT:ロジックを書き直す必要があるとも考えています...以前はarray_combine()を使用したことがありません...関連するものと対応していることを確認するだけです
助けてくれてありがとう!