私が制御できないシリアル化されたフォームからデータを受け取るページがあります。データは、値のリスト (Exam_Questions) と、質問に対する回答である各質問のパラメーター (Sort_Order_1) で構成されます。
パラメータ [exam_questions] 内に順番に格納された任意の数の問題が存在する可能性があり、次に問題ごとに「Sort_Order_[番号]」が格納されます。「_[番号]」は、Exam_Questions 内の問題の順序に関連します。つまり、101 は 1、102 は 2、103 は 3 です。「Sort_Order_[番号]」パラメータには、さまざまなタイプのデータと、場合によっては配列を含めることができます。
Exam_Questions をカウンターを持つ配列に分解しました。私がしようとしているのは、配列をループしてから、質問に対して送信される回答値を要求することです。
たとえば、最初の質問で Exam_questions をループすると、質問 2 で Sort_Order_1 を抽出できるようになり、Sort_order_2 などを抽出できるようになります。
配列内に「$Question_Number」の値がありますが、次のようなリクエストを行う方法が見つかりませんでした:
値 = $Sort_Order_ . $Question_Number
質問を抽出するこれまでに試したコードは次のとおりですが、「Sort_Order_[number]」値を要求する方法がわかりません。以下の例は、送信された他のフィールドがあるため、受け取った文字列の短縮版です。
<?php
//parse_str($_POST['Form_Values']);
parse_str('Exam_Questions=101,102,103&Sort_Order_1=TEST1&Sort_Order_2=TEST2& Sort_Order_3=TEST3');
$Exam_Question = (explode(",",$Exam_Questions));
$Question_Number = 1;
foreach ($Exam_Question as $QID)
{
echo $Question_Number . ' - ' . $QID . '<br / >';
$Sort = eval('$Sort_Order_' . $Question_Number);
echo $Sort . '<br />';
$Question_Number = (int)$Question_Number + 1;
}
?>