尽管先前已填充,但数组值为空

时间:2012-02-29 12:21:29

标签: php arrays

嗨,我确定这是一个愚蠢的错误,但我在过去20分钟一直盯着这个 徒劳无功。我有一个数组balance[],其中填充了balance[0]的两个值 和balance[1]。这些在第一个for循环中填充,但是当我在此之后使用这些值时,数组balance[0]为空。

以下是我的代码和输出:

for ($i=0; $i<$counter; $i++){

$x = mysql_query("

SELECT `outputValue` FROM `output` WHERE `outputType`= 'balance' && `period`= '6' && teamID = '$ID[$i]'

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

    // set ID's = to a variable and now get Outputs for each variable(teamID)

            $balance = array();


            $row = mysql_fetch_assoc($x);
            echo $i." = I<br/>";
            $balance[$i] = $row['outputValue'];
            echo "Team ".$i."Balance = ".$balance[$i]."<br/>";

}
for ($i=0; $i<$counter; $i++){
echo "Team ".$i."Balance = ".$balance[$i]."<br/>";
}

enter image description here

2 个答案:

答案 0 :(得分:1)

您正在初始化循环内部的$balance。在每个for循环迭代中,$balance值将使用空array()重写。

在第一次迭代中,$balance设置为空数组,然后设置$balance[0]。 在第二次迭代中,$balance再次设置为空数组,然后设置$balance[1]

因此,在循环之后,$balance只会在索引$counter-1处包含一个元素。

答案 1 :(得分:1)

移动线

   $balance = array();

在循环之外。

相关问题