Web開発では、フォームオプションの選択頻度をカウントすることは一般的なタスクです。アンケート、スコアリングシステム、選択ボックスなどであろうと、開発者は通常、ユーザーが選択したオプションと各オプションが選択された回数をカウントする必要があります。 PHPのarray_count_values関数は、このタスクを簡単に達成できます。この記事では、この関数を使用してフォームオプションの選択の頻度をカウントする方法を紹介します。
array_count_valuesは、配列内のすべての値の発生頻度をカウントし、キーがアレイの値であり、値が各値の発生数である連想配列を返すPHPの組み込み関数です。
array_count_values(array $array): array
$配列:これはカウントされる配列です。
この関数は、キーが入力配列の値である連想配列を返し、値はこれらの値が配列に表示される回数です。
ユーザーが複数のオプションから選択できるフォームがあるとします。これらのオプションを収集し、各オプションが選択された回数をカウントしたいと考えていました。
フォームにラジオボックスが含まれていると仮定すると、ユーザーは好みとして異なる色を選択できます。 HTMLフォームコードは次のとおりです。
<form action="process.php" method="POST">
<label>お好みの色を選択してください:</label><br>
<input type="radio" name="color" value="red"> 赤<br>
<input type="radio" name="color" value="blue"> 青<br>
<input type="radio" name="color" value="green"> 緑<br>
<input type="submit" value="提出する">
</form>
実際のアプリケーションでは、フォームデータは通常、POSTメソッドを介して送信されます。このプロセスをシミュレートするために、フォーム選択結果を含む配列を手動で作成します。ユーザーが送信したフォームデータが次のとおりであるとします。
$submitted_data = ['red', 'blue', 'green', 'red', 'blue', 'blue', 'green', 'red'];
Array_count_values関数を使用して、選択されている各色の頻度をカウントできます。
$selection_count = array_count_values($submitted_data);
print_r($selection_count);
Array
(
[red] => 3
[blue] => 3
[green] => 2
)
出力の結果を通じて、各色の選択周波数がそれぞれ3回選択され、緑がそれぞれ2回選択されていることが明確にわかります。
フォームデータはデータベースから来て、データベースのレコードに基づいてカウントする場合、 array_count_valuesもこれを達成するのに役立ちます。
ユーザーが選択した色情報を保存するテーブルがあり、各ユーザーの選択がデータベースのフィールドに保存されているとします。選択したすべてのデータをクエリしてから、 array_count_values関数を使用して各オプションの選択頻度をカウントできます。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "form_data";
// 接続を作成します
$conn = new mysqli($servername, $username, $password, $dbname);
// 接続を確認してください
if ($conn->connect_error) {
die("接続に失敗しました: " . $conn->connect_error);
}
$sql = "SELECT color FROM form_submissions";
$result = $conn->query($sql);
$submitted_data = [];
if ($result->num_rows > 0) {
// データの各行を出力します
while($row = $result->fetch_assoc()) {
$submitted_data[] = $row['color'];
}
} else {
echo "0 結果";
}
$conn->close();
データを取得した後、 array_count_valuesを使用して各色の選択頻度をカウントします。
$selection_count = array_count_values($submitted_data);
print_r($selection_count);
array_count_valuesは、開発者がフォームオプションの選択の頻度をすばやくカウントするのに役立つ非常に便利なPHP関数です。フォームから直接送信されたデータであろうと、データベースから抽出されたデータであろうと、 array_count_valuesを使用して簡単に実現できます。統計結果の分析を通じて、開発者は貴重な情報を取得し、意思決定のサポートを提供できます。