首頁 > 後端開發 > PHP問題 > 如何用php的陣列給成績分組

如何用php的陣列給成績分組

PHPz
發布: 2023-04-27 10:29:07
原創
1063 人瀏覽過

在寫PHP程式時,常常需要用到陣列來儲存和處理資料。對於學生成績管理系統,我們通常需要將成績分組,以便更好地統計和分析資料。本文將介紹如何使用PHP陣列將成績分組。

一、建立學生成績陣列

首先,我們需要建立一個學生成績數組,用於儲存每位學生的成績資訊。假設我們要處理的資料如下所示:

#103王五78#80#8588
學號 #姓名 語言 #數學 英文
101 #張三 #85 90 78
102 李四 #90 #75 #82
##104 趙六
92

#94

105

##錢七

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)
);
登入後複製
這樣,我們就創建了一個包含五個元素的數組,每個元素都表示一位學生的成績資訊。每個元素都是一個關聯數組,其中包含學生的學號、姓名和各科成績。

二、依照成績分組

接下來,我們需要依照成績進行分組。假設我們要依照總分分組,將總分在80分以下的學生歸為一組,80-90分的學生歸為另一組,90分以上的學生歸為第三組。我們可以使用循環遍歷學生成績數組,依序計算每個學生的總分,並將他們歸入相應的分組。程式碼如下:###
$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;
    }
}
登入後複製
###這裡我們定義了三個數組,用來儲存三個分組的學生資訊。然後使用foreach循環遍歷每個學生的成績信息,計算出每個學生的總分,並將他們歸入相應的分組。 ######三、輸出分組結果######最後,我們需要將分組結果輸出出來,以便進一步的統計和分析。我們可以使用foreach循環遍歷每個分組的學生訊息,將學生的姓名和總分輸出到頁面上。代碼如下:###
echo &#39;<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>';
}
登入後複製
###這裡我們先輸出每個分組的標題,然後使用foreach循環遍歷每個分組的學生信息,計算出學生的總分,並將學生的姓名和總分輸出到頁面上。 ######四、完整程式碼######以下是完整的PHP程式碼,包含學生成績陣列的建立、成績分組和輸出分組結果的程式碼。 ###
$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的陣列給成績分組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板