Bagaimana untuk mengumpulkan hasil menggunakan tatasusunan php

PHPz
Lepaskan: 2023-04-27 10:29:07
asal
1033 orang telah melayarinya

Apabila menulis program PHP, anda selalunya perlu menggunakan tatasusunan untuk menyimpan dan memproses data. Untuk sistem pengurusan prestasi pelajar, kami biasanya perlu mengumpulkan markah untuk statistik dan analisis data yang lebih baik. Artikel ini akan menerangkan cara menggunakan tatasusunan PHP untuk mengumpulkan gred.

1. Buat tatasusunan skor pelajar

Pertama, kita perlu mencipta tatasusunan skor pelajar untuk menyimpan maklumat skor setiap pelajar. Katakan data yang ingin kita proses adalah seperti berikut:

学号 姓名 语文 数学 英语
101 张三 85 90 78
102 李四 90 75 82
103 王五 78 80 85
104 赵六 88 92 94
105 钱七 92 85 88

Kita boleh menggunakan tatasusunan dua dimensi untuk menyimpan data ini, kodnya adalah seperti berikut:

$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)
);
Salin selepas log masuk

Dengan cara ini, kami mencipta lima dimensi Satu tatasusunan elemen, setiap elemen mewakili maklumat prestasi pelajar. Setiap elemen ialah tatasusunan bersekutu yang mengandungi nombor pelajar, nama dan gred dalam setiap mata pelajaran.

2. Mengelompokkan mengikut prestasi

Seterusnya, kita perlu mengumpulkan mengikut prestasi. Katakan kita ingin mengumpulkan mengikut jumlah markah, dan meletakkan pelajar dengan jumlah markah kurang daripada 80 mata ke dalam satu kumpulan, pelajar dengan skor 80-90 mata ke dalam kumpulan lain, dan pelajar dengan skor melebihi 90 mata ke dalam kumpulan ketiga. Kita boleh menggunakan gelung untuk melintasi tatasusunan skor pelajar, mengira jumlah skor setiap pelajar secara bergilir-gilir, dan mengelaskannya ke dalam kumpulan yang sepadan. Kodnya adalah seperti berikut:

$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;
    }
}
Salin selepas log masuk

Di sini kami mentakrifkan tiga tatasusunan untuk menyimpan tiga kumpulan maklumat pelajar. Kemudian gunakan gelung foreach untuk merentasi maklumat skor setiap pelajar, kira jumlah skor setiap pelajar, dan klasifikasikan mereka ke dalam kumpulan yang sepadan.

3. Keluarkan hasil kumpulan

Akhir sekali, kami perlu mengeluarkan hasil kumpulan untuk statistik dan analisis selanjutnya. Kita boleh menggunakan gelung foreach untuk melintasi maklumat pelajar setiap kumpulan dan mengeluarkan nama pelajar dan jumlah markah ke halaman. Kodnya adalah seperti berikut:

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>';
}
Salin selepas log masuk

Di sini kita mula-mula mengeluarkan tajuk setiap kumpulan, kemudian menggunakan gelung foreach untuk melintasi maklumat pelajar setiap kumpulan, mengira jumlah markah pelajar, dan mengeluarkan nama pelajar dan jumlah skor kepada halaman yang lebih tinggi.

4. Kod lengkap

Berikut ialah kod PHP lengkap, termasuk kod untuk mencipta tatasusunan skor pelajar, mengumpulkan markah dan mengeluarkan hasil kumpulan.

$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 . '
'; }
Salin selepas log masuk

5. Ringkasan

Melalui kod di atas, kita boleh mengumpulkan pelajar mengikut markah mereka dan mengumpulkan pelajar mengikut jumlah markah mereka untuk memudahkan statistik dan analisis maklumat prestasi pelajar yang lebih baik. Pada masa yang sama, contoh ini juga menunjukkan cara menggunakan tatasusunan PHP untuk operasi asas menyimpan dan memproses data. Kaedah pengelompokan dan asas pengelompokan yang berbeza juga perlu dipilih dan ditambah baik mengikut situasi sebenar dalam aplikasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan hasil menggunakan tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan