我有一个功能:

function getDecision($num_players, $decisionType, $stage){

echo "in the function 1: ".$num_players."<br/>";
echo "in the function 2: ".$decisionType."<br/>";
echo "in the function 3: ".$stage."<br/>";

$x = mysql_query("

    SELECT `decisionValue` FROM `teamdecision` WHERE `decisionType` = '$decisionType' && `period`= '$stage'

    ")or die($x."<br/><br/>".mysql_error());

            $y = array();
            $i="0";
            while ($i<($num_players) && $row = mysql_fetch_assoc($x))
            {

            $y[$i] = $row['decisionValue'];
            $i++;

            }

            return ($y);
}

根据$num_players,Y将填充许多值。我调用函数如下:
$value = array();
$name = array();

for ($j=0;$j<$num_players;$j++){
for ($i=0;$i<4;$i++){
$name[0] = "SUconsultant";
$name[1] = "marketT";
$name[2] = "sector";
$name[3] = "saleprice";

echo $name[$i]."<br/>";

$value[$i] = getDecision($num_players, $name[$i], $currentStage)."<br/>";

echo "Value = ".$value[$j][$i]."<br/>";
}
}

如你所见,我做错了。我需要输出$value中的数据,但是我对多维数组的工作方式感到困惑。我知道我需要读一读这个主题,如果可能的话,你能给我指一个合适的学习资源吗?
因此,我修改了代码,以便使用以下代码生成以下输出:
$value = array();
$name = array();

for ($j=0;$j<$num_players;$j++){
for ($i=0;$i<4;$i++){
$name[0] = "SUconsultant";
$name[1] = "marketT";
$name[2] = "sector";
$name[3] = "saleprice";

echo $name[$i]."<br/>";

$value[$i] = getDecision($num_players, $name[$i], $currentStage)."<br/>";

echo "Value = ".$value[$j][$i]."<br/>";
}
}

我期望输出如下:
$value[0]应该包含$y,然后包含每个SUconsultant值。$value[1]应该包含$y,然后包含每个marketT值,依此类推。

最佳答案

for ($i=0;$j<4;$i++){

应该是
for ($j=0;$j<4;$j++){

and
$value[$i] = getDecision($num_players, $name[$i], $currentStage)."<br/>";

应该是
$value[$j] = getDecision($num_players, $name[$j], $currentStage)."<br/>";

关于php - 多维数组。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9230914/

10-09 05:03