Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多维数组。我做错了什么?_Php_Mysql_Arrays_Multidimensional Array - Fatal编程技术网

Php 多维数组。我做错了什么?

Php 多维数组。我做错了什么?,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一个功能: 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("

我有一个功能:

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);
}
正如你所看到的,我做错了。我需要输出位于
$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=array();
$name=array();

对于($j=0;$j您在第一个for循环中有一个
$j
,但在其中设置并证明
$i
。也可以将它们更改为
$j

编辑

实际上,您似乎在返回数据的位置有问题:

echo "Value = ".$value[$j][$i]."<br/>";
echo“Value=”.$Value[$j][$i]。“
”;
这应该是(看起来):

用于($f=0;$f<$num\u玩家;$f++){
echo“Value=”.$Value[$i][$f]。“
”; }

因为当你到达这一点时,你当前在
$value[$i]
上,那么你需要它为每个玩家回显一个。

对于($i=0;$j这个解决方案起作用了,经过大量的尝试之后,
[]
之后
for ($i=0;$j<4;$i++){
还需要
数组?至少我认为是这样

$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[] = getDecision($num_players, $name[$i], $currentStage);

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

echo "<br/><hr/>";
echo "Value = ".$value[$i][$j]."<br/><hr/>";
}
}
$value=array();
$name=array();

对于($j=0;$jIS
对于($i=0;$jWell,
$i=“0”;
正在将$i定义为字符串-它可以工作,但首先不需要引号。很抱歉,我修复了这两个已注释的问题。我已经解决了,现在看来,
$name
没有正确地传递给函数。只有每个字符串的第一个字母。请尝试指定
$name=array()
在顶部的
$value=array();
下。是的,刚刚这么做了。请查看上面的编辑。我现在正在写。你能把一些你期望的输出示例也放回去吗?离开你的第一个“期望”结果返回,您应该返回一个包含2个不同值的数组,因为您正在为
$num_players
传递参数2。因此
$y
应该是一个包含2的数组,这意味着
$value[$i]
也应该包含一个包含2的数组。
$value[$i][0]
$value[$i][1]
,这意味着您在这种情况下应该回显两个值。或者我只是假设这就是您的目标。更改这一点并没有产生任何影响,字符串似乎没有正确地传递到函数。请参阅我在上面的编辑。您确实更改了第一部分,但没有更改这一行:$value[$j]=getDecision($num_players,$name[$j],$currentStage)。“
”我尝试过,但没有成功,请看我的解决方案。经过多次调整,我自己已经回答了这个问题。
for ($i=0;$j<4;$i++){
for ($j=0;$j<4;$j++){
$value[$i] = getDecision($num_players, $name[$i], $currentStage)."<br/>";
$value[$j] = getDecision($num_players, $name[$j], $currentStage)."<br/>";
$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[] = getDecision($num_players, $name[$i], $currentStage);

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

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

echo "Team ".$j." ".$name[$i]." = ".$value[$i][$j]."<br/>";