Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengendalikan pengisihan dan pemeringkatan data dalam borang PHP

Cara mengendalikan pengisihan dan pemeringkatan data dalam borang PHP

WBOY
WBOYasal
2023-08-12 23:58:451039semak imbas

Cara mengendalikan pengisihan dan pemeringkatan data dalam borang PHP

Cara mengendalikan pengisihan dan pemeringkatan data dalam borang PHP

Apabila membangunkan aplikasi borang PHP, anda sering menghadapi situasi di mana anda perlu mengisih dan menyusun data borang yang diserahkan oleh pengguna. Ini adalah perkara biasa dalam beberapa undian pertandingan, kedudukan, pemilihan dan senario lain. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengisihan dan pemeringkatan data borang, dan menyediakan beberapa contoh kod untuk rujukan.

1. Pengisihan data

Untuk mengisih data borang, kita perlu menyimpan data borang yang dihantar oleh pengguna dalam tatasusunan terlebih dahulu. Katakan terdapat kotak input dalam borang kami untuk mengisi skor pengguna Kita boleh menggunakan kod berikut untuk menyimpan skor dalam tatasusunan:

$scores = array($_POST['score1'], $_POST['score2'], $_POST['score3']);

Kemudian, kita boleh menggunakan fungsi terbina dalam PHP sort()<.> atau <code>rsort() mengisih tatasusunan dalam tertib menaik atau menurun. sort()rsort()对数组进行升序或降序排序。

升序排序示例:

sort($scores);

降序排序示例:

rsort($scores);

二、数据排名

在对表单数据进行排序之后,我们可以使用PHP的array_flip()函数将索引和值交换,这样我们就可以得到每个得分对应的排名。

示例代码如下:

$rankedScores = array_flip($scores);

这样,$rankedScores

Contoh pengisihan menaik:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 将得分存储在数组中
    $scores = array($_POST['score1'], $_POST['score2'], $_POST['score3']);

    // 对得分进行降序排序
    rsort($scores);

    // 将索引和值交换,得到排名
    $rankedScores = array_flip($scores);

    // 输出排名和得分
    foreach ($rankedScores as $rank => $score) {
        echo '第' . ($rank + 1) . '名: ' . $score . '<br>';
    }
}
?>

<form method="POST">
    <label for="score1">得分1:</label>
    <input type="number" name="score1" id="score1" required><br>

    <label for="score2">得分2:</label>
    <input type="number" name="score2" id="score2" required><br>

    <label for="score3">得分3:</label>
    <input type="number" name="score3" id="score3" required><br>

    <input type="submit" value="提交">
</form>

Contoh pengisihan menurun:

rrreee

2 Kedudukan data

Selepas mengisih data borang, kita boleh menggunakan fungsi array_flip() PHP untuk menggabungkan indeks Swap. supaya kita boleh mendapat ranking yang sepadan dengan setiap markah.

Kod sampel adalah seperti berikut:

rrreee

Dengan cara ini, indeks dalam tatasusunan $rankedScores ialah kedudukan dan nilai yang sepadan ialah skor.

3. Contoh kod lengkap🎜🎜Berikut ialah contoh kod lengkap yang menunjukkan cara mengisih dan menyusun data borang: 🎜rrreee🎜Kod di atas akan menghasilkan borang yang mengandungi tiga kotak input dan butang hantar. Selepas pengguna mengisi dan menyerahkan borang, skrip mengisih markah dan mengeluarkan kedudukan dan skor yang sepadan. 🎜🎜Dalam contoh di atas, kami hanya menangani tiga nilai skor, tetapi anda boleh melaraskan kod secara dinamik mengikut keperluan sebenar. 🎜🎜Ringkasan🎜🎜Melalui contoh kod di atas, kami boleh melaksanakan fungsi pengisihan dan penarafan data dalam bentuk PHP dengan mudah. Kaedah pemprosesan ini sangat berguna dalam senario seperti undian pertandingan, kedudukan dan pemilihan. Saya harap artikel ini akan membantu kerja pembangunan PHP anda! 🎜

Atas ialah kandungan terperinci Cara mengendalikan pengisihan dan pemeringkatan data dalam borang PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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