在寫PHP程式時,常常需要用到陣列來儲存和處理資料。對於學生成績管理系統,我們通常需要將成績分組,以便更好地統計和分析資料。本文將介紹如何使用PHP陣列將成績分組。
一、建立學生成績陣列
首先,我們需要建立一個學生成績數組,用於儲存每位學生的成績資訊。假設我們要處理的資料如下所示:
學號 | #姓名 | 語言 | #數學 | 英文 |
---|---|---|---|---|
101 | #張三 | #85 | 90 | 78 |
102 | 李四 | #90 | #75 | #82 |
#103 | 王五 | |||
#80 | #85 | ##104 | 趙六 |
##錢七
92
85
88
#我們可以使用一個二維數組來儲存這些數據,程式碼如下:$score = array( array('id' => 101, 'name' => '张三', 'chinese' => 85, 'math' => 90, 'english' => 78), array('id' => 102, 'name' => '李四', 'chinese' => 90, 'math' => 75, 'english' => 82), array('id' => 103, 'name' => '王五', 'chinese' => 78, 'math' => 80, 'english' => 85), array('id' => 104, 'name' => '赵六', 'chinese' => 88, 'math' => 92, 'english' => 94), array('id' => 105, 'name' => '钱七', 'chinese' => 92, 'math' => 85, 'english' => 88) );
$group1 = array(); //80分以下 $group2 = array(); //80-90分 $group3 = array(); //90分以上 foreach ($score as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; //计算总分 if ($total < 80) { $group1[] = $item; } elseif ($total >= 80 && $total < 90) { $group2[] = $item; } else { $group3[] = $item; } }
echo '<h2>80分以下</h2>'; foreach ($group1 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '<br>'; } echo '<h2>80-90分</h2>'; foreach ($group2 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '<br>'; } echo '<h2>90分以上</h2>'; foreach ($group3 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '<br>'; }
$score = array( array('id' => 101, 'name' => '张三', 'chinese' => 85, 'math' => 90, 'english' => 78), array('id' => 102, 'name' => '李四', 'chinese' => 90, 'math' => 75, 'english' => 82), array('id' => 103, 'name' => '王五', 'chinese' => 78, 'math' => 80, 'english' => 85), array('id' => 104, 'name' => '赵六', 'chinese' => 88, 'math' => 92, 'english' => 94), array('id' => 105, 'name' => '钱七', 'chinese' => 92, 'math' => 85, 'english' => 88) ); $group1 = array(); //80分以下 $group2 = array(); //80-90分 $group3 = array(); //90分以上 foreach ($score as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; //计算总分 if ($total < 80) { $group1[] = $item; } elseif ($total >= 80 && $total < 90) { $group2[] = $item; } else { $group3[] = $item; } } echo '80分以下
'; foreach ($group1 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '
'; } echo '80-90分
'; foreach ($group2 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '
'; } echo '90分以上
'; foreach ($group3 as $item) { $total = $item['chinese'] + $item['math'] + $item['english']; echo $item['name'] . ':' . $total . '
'; }
以上是如何用php的陣列給成績分組的詳細內容。更多資訊請關注PHP中文網其他相關文章!