Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan pengumpulan data dan fungsi statistik dalam PHP
Cara melaksanakan pengumpulan data dan fungsi statistik dalam PHP
Dalam proses pembangunan sebenar, kita sering menghadapi keperluan untuk mengumpulkan dan mengira data. Sama ada ia mengumpulkan statistik pada data dalam pangkalan data atau mengendalikan data dalam tatasusunan, PHP menyediakan pelbagai fungsi dan kaedah untuk memenuhi keperluan kita.
Yang berikut akan menunjukkan cara mengumpulkan dan mengira pangkalan data dan data tatasusunan dalam PHP.
Pengumpulan data dan statistik dalam pangkalan data
Andaikan kita mempunyai jadual prestasi pelajar dengan struktur berikut:
CREATE TABLE `scores` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `student_id` int(11) NOT NULL, `subject` varchar(50) NOT NULL, `score` decimal(5,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kami ingin mengira jumlah markah dan purata markah setiap pelajar. Anda boleh menggunakan kod berikut untuk pengumpulan dan statistik:
// 连接数据库 $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); // 查询数据 $query = "SELECT student_id, SUM(score) AS total, AVG(score) AS average FROM scores GROUP BY student_id"; $stmt = $pdo->prepare($query); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // 输出结果 foreach ($results as $result) { echo "学生ID:" . $result['student_id'] . ",总分:" . $result['total'] . ",平均分:" . $result['average'] . "<br>"; }
Dalam kod di atas, kami menggunakan PDO untuk menyambung ke pangkalan data, kemudian laksanakan pernyataan pertanyaan dan simpan keputusan dalam tatasusunan $results. Akhir sekali, jumlah skor dan purata skor setiap pelajar dikeluarkan melalui gelung foreach.
Kumpulan dan statistik data tatasusunan
Andaikan kita mempunyai tatasusunan yang mengandungi sekumpulan pelajar Setiap pelajar mempunyai tiga atribut: nama, umur dan gred, seperti berikut:
$students = [ ['name' => '张三', 'age' => 18, 'score' => 85], ['name' => '李四', 'age' => 19, 'score' => 92], ['name' => '王五', 'age' => 20, 'score' => 78], ['name' => '赵六', 'age' => 18, 'score' => 89], ['name' => '钱七', 'age' => 19, 'score' => 95], ['name' => '孙八', 'age' => 20, 'score' => 82], ];
Kami ingin mengumpulkan pelajar mengikut umur, dan Kirakan. skor purata dan markah tertinggi pelajar dalam setiap kumpulan. Berikut ialah kod untuk melaksanakan pengumpulan dan statistik:
// 按照年龄分组 $groups = []; foreach ($students as $student) { $age = $student['age']; if (!isset($groups[$age])) { $groups[$age] = []; } $groups[$age][] = $student; } // 统计每个分组中的平均分和最高分 foreach ($groups as $age => $group) { $total = 0; $maxScore = 0; foreach ($group as $student) { $total += $student['score']; if ($student['score'] > $maxScore) { $maxScore = $student['score']; } } $average = $total / count($group); echo "年龄:" . $age . ",平均分:" . $average . ",最高分:" . $maxScore . "<br>"; }
Dalam kod di atas, kami mula-mula menggunakan gelung foreach untuk mengumpulkan pelajar mengikut umur dan menyimpannya dalam tatasusunan $groups. Kemudian ia merentasi setiap kumpulan melalui gelung foreach bersarang, mengira skor purata dan skor tertinggi, dan akhirnya menghasilkan keputusan.
Melalui contoh kod di atas, kita dapat melihat cara menggunakan PHP untuk melaksanakan fungsi pengumpulan data dan statistik. Sama ada anda beroperasi pada data dalam pangkalan data atau pada data dalam tatasusunan, anda boleh memilih kaedah yang sesuai untuk melaksanakannya mengikut keperluan anda. Fungsi ini sangat biasa dalam pembangunan sebenar dan digunakan secara meluas dalam bidang seperti analisis data dan penjanaan laporan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengumpulan data dan fungsi statistik dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!