0

我正在做个人资料测验。这只是一个代码示例。最终我会为所有可能的组合做一个循环。基本上,如果学生选择问题 1 的答案 3(你的身高是多少 - 小、中、大、xl、xxl),我希望他们的 pgheight 存储为 4,sgheight 为 9,cheight 为 4,等等......我的最终数组将由 16 个 $pos 和 16 个 $attr 组成,每个组合有 5 个分数。希望这是有道理的。谢谢你的帮助。例如

function height(){
    $pos=array("pg","sg","c");
    $attr=array("height","weight","strength");
    $pgheight=array(1,2,3,4,5);
    $sgheight=array(6,7,8,9,10);
    $cheight=array(1,2,3,4,5);

    $ans=3;
    $i=0;

    // THIS IS THE CODE THAT DOESN'T SEEM TO WORK.
    // My logic is $pgheight=$pgheight[3];  
    $pos[$i].$attr[$i]=$pos[$i].$attr[$i]."[".$ans."]"; 
    echo $pgheight;
}
4

1 回答 1

0

您要么想要评估语句,要么使用两个美元符号。您正在重用变量 pgheight 所以它有点混乱。让我给你一个例子。

$fruit = array("apples", "oranges", "pears");
$drinks = array("beer", "cider", "wine");

$krislikes = "drinks";
$whichone = 0;

echo "Kris likes " . ${$krislikes}[$whichone] . "<br>";
// or 
$answer = $$krislikes;
echo "Kris likes " . $answer[$whichone] . "<br>";
// or 
eval('$the_answer=$' . $krislikes . '[' . $whichone . '];');
echo "Kris likes " . $the_answer . "<br>";

希望有帮助。

于 2013-01-24T19:29:21.363 回答