嘗試創建GPA計算器。我有一個提交給php文件的表單,然後將表單中的所有數據存儲在一個php數組()中。該計算器很好,直到我輸入相同的值。我認爲這不會有意義,直到我展示一些圖片:foreach()跳過數組中的第一個元素
這裏是一個圖像中的問題:
所以第一個圖像在我進入一個A,然後另一在第二個圖像中,var_dump()是數組(2){[0] => float(4),它使用var_dump()輸出數組{1} {[0] => float(4.5)}。 )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,只需要問一下,我會添加一個編輯。
編輯:我也想我需要重寫邏輯......我從來沒有使用array_combine()之前......我只是需要確保與相關
感謝您的幫助的對應!
也許$ _POST'的轉儲會有幫助。 –
我認爲數組合是probs。,第一個aray可能包含相同的等級,因此它將被丟棄。 –
嘗試得到數組(5){[0] => string(1)「A」[1] => string(1)「A」[2] => string(1)「0」[3] =>字符串(1)「0」[4] =>字符串(1)「0」} for'grades []'和array(5){[0] => string(7)「REGULAR」[1] => string (7)「REGULAR」[2] => string(1)「0」[3] => string(1)「0」[4] => string(1)「0」}' –