我有一個函數:多維數組。我究竟做錯了什麼?
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
值來填充。我打電話的功能如下:
$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值等。
IS' for($ i = 0; $ j <4; $ i ++)''我有'故意嗎?因爲我認爲不是...... – Andrew 2012-02-10 16:18:22
好吧,'$ i =「0」;'將$ i定義爲一個字符串 - 它可以工作,但是首先不需要引號。 – Basic 2012-02-10 16:18:42
對不起,你是對的我修正了兩個評論問題。 – NeverPhased 2012-02-10 16:20:49