2012-02-29 4 views
1

Привет Я уверен, что это глупая ошибка, но я смотрел на это за последние 20 минут до . У меня есть массив balance[], который заполнен двумя значениями для balance[0] и balance[1]. Они заполняются в первом цикле, однако, когда я использую эти значения снаружи после этого, массив 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

+1

просим пометить используемый вами язык. – vulkanino

ответ

1

Вы инициализацией $balance внутри цикла. На каждой итерации for значение $balance переписывается с пустым array().

На первой итерации $balance установлен в пустой массив, а затем устанавливается $balance[0]. На второй итерации $balance снова устанавливается в пустой массив, а затем устанавливается .

Итак, после цикла, $balance будет содержать только один элемент по индексу $counter-1.

+0

большое спасибо за быстрый ответ, я довольно новичок в программировании и, как правило, делаю эти глупые ошибки! еще раз спасибо – NeverPhased

1

переместить линию

$balance = array(); 

вне цикла.

Смежные вопросы