0

私は可変変数の概念に不慣れで、完全に理解しているとは思いません。

私がやろうとしているのは、可変数の変数に基づいて配列を設定する for ループを作成することです。

置き換えようとしています: (手動でハードコーディング)

$numCorrectArray = array(1=>$q01TotalCorrect, 2=>$q02TotalCorrect, 3=>$q03TotalCorrect, 4=>$q04TotalCorrect, 5=>$q05TotalCorrect, 6=>$q06TotalCorrect, 7=>$q07TotalCorrect, 8=>$q08TotalCorrect, 9=>$q09TotalCorrect, 10=>$q10TotalCorrect, 11=>$q11TotalCorrect, 12=>$q12TotalCorrect, 13=>$q13TotalCorrect, 14=>$q14TotalCorrect, 15=>$q15TotalCorrect, 16=>$q16TotalCorrect, 17=>$q17TotalCorrect, 18=>$q18TotalCorrect, 19=>$q19TotalCorrect, 20=>$q20TotalCorrect, 21=>$q21TotalCorrect, 22=>$q22TotalCorrect, 23=>$q23TotalCorrect, 24=>$q24TotalCorrect, 25=>$q25TotalCorrect, 26=>$q26TotalCorrect, 27=>$q27TotalCorrect, 28=>$q28TotalCorrect, 29=>$q29TotalCorrect);

あり: (動的)

$numCorrectArray = array();

for($i=1; $i <= $stats->numberOfQuestions; $i++) {

    if($i < 10) {
        $questionNumber = "0" . $i; 
    } else {
        $questionNumber = $i;               
    }
    $varName = "q" . $questionNumber . "TotalCorrect";

array_push($numCorrectArray, $$varName);
}

どうすればこれを達成できますか? ありがとう

4

1 に答える 1

0

以下の方法は、通常の PHP コードに似ているため、理解しやすいと思います。詳細については、こちらをご覧ください

$numCorrectArray = array();

$prefix = 'q';
$sufix  = 'TotalCorrect';

for($i=1; $i <= 30; $i++) {

    if($i < 10) {
        $questionNumber = "0" . $i; 
    } else {
        $questionNumber = $i;               
    }

    ${$prefix . $questionNumber . $sufix} = $i;

    $numCorrectArray[$i] = ${$prefix . $questionNumber . $sufix};

}
于 2012-07-08T21:28:58.883 に答える