我对变量的概念是个新手,我不认为我完全理解它。
我正在尝试做的是创建一个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);
}我该如何做到这一点呢?谢谢
发布于 2012-07-09 05:28:59
我认为下面的方法更容易理解,因为它类似于普通的PHP代码。Here you can learn more。
$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};
}https://stackoverflow.com/questions/11386568
复制相似问题