2013-01-24 47 views
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; 
} 

回答

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>"; 

希望有帮助。

+0

太棒了。非常感谢克里斯! – matt

相关问题