SOと私が似ている複数の質問が見つかったが、それらのどれも複数のキーに限定されていなかった。whileループ内の特定のキーの配列合計
私は、それぞれの質問回答に得られたポイントに基づいて7人のうち3人の勝者を推薦するアルゴリズムを持ったアンケートを作成しています。テーブルには、ポイント値を保持するid、question_no、answer、および7の列があります。ここで
はコードです:
<?php
include_once "connect.php";
$question = array();
$question[1] = mysqli_real_escape_string($con, $_POST['question_01']);
// the rest of the questions go here
$question[10] = mysqli_real_escape_string($con, $_POST['question_10']);
$i = 0;
$array_sum=[];
while ($i < 10){
$i++;
$sql = "SELECT * FROM partners WHERE question_no = $i AND answer = '".$question[$i]."'";
$result = mysqli_query($con, $sql);
$final_array_1 = array();
while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
{
$final_array_1 = $row;
$array_sum = array_map(function() {
return array_sum(func_get_args());
}, $array_sum, $final_array_1);
print_r($final_array_1);
echo "<br/>";
}
}
これの出力はのようになります。
Array ([0] => 1 [1] => 1 [2] => A [3] => 5 [4] => 5 [5] => 5 [6] => 5 [7] => 5 [8] => 5 [9] => 5)
Array ([0] => 6 [1] => 2 [2] => B [3] => 0 [4] => 0 [5] => 0 [6] => 8 [7] => 8 [8] => 0 [9] => 0)
などなど、他の8つのアレイのために。
基本的には、3から9までのすべてのキーの値を追加する必要がありますが、これらの値は「while」で取得しているので、これを達成する方法はわかりません。
私はこれらの個々の配列を保持して、ユーザーがデータベース内のフォームで選択したオプションを保存できるようにする必要もあります。
追加の詳細が必要な場合はお知らせください。
3から9までの配列をループし、別の変数を各キーの値でインクリメントしますか? – ADyson
@ADysonはい。それがアイデアです。 – SporeDev
だから...あなたはforループを作る方法を知っていますか?その後、それは簡単です。 – ADyson