2014-02-26 3 views
0

나는 데이터베이스에서 여러 값을 검색하는 스크립트를하고 난 다음 변수에 저장 :어떻게 for 루프 내부의 카운터에 따라 특정 변수를 사용하도록 PHP에 지시 할 수 있습니까?

$Av_1o=99; 
$Av_2o=100; 
$Av_3o=80; 
$Av_4o=70; 
$Av_5o=90; 
$Av_6o=110; 
$Av_7o=120; 
$Av_8o=110; 
$Av_9o=90; 
$Av_10o=88; 
$Av_11o=99; 
$Av_12o=100; 
$Av_13o=101; 

을 그리고, 다른 변수에 따라, 같은 해 같은, 내가의 최대 값을 설정해야 카운터 (이름 : $의 top_counter) : 마지막으로

//defining year: 
$year=2009; 
      switch($year){ 
     case 2008: 
      $top_counter=13; 
      break; 
     case 2009: 
      $top_counter=11; 
      break; 
     case 2010: 
      $top_counter=9; 
      break; 
     case 2011: 
      $top_counter=7; 
      break; 
     case 2012: 
      $top_counter=5; 
      break; 
     case 2013: 
      $top_counter=3; 
      break; 
     case 2014: 
      $top_counter=1; 
      break; 
     default: 
      $top_counter=NULL; 
    } 

, 내가 루프에 대한 사용

for($counter=1;$counter<=$top_counter;$counter++){ 
    $variable_name='Av_'.$counter.'o'; 
    if($$variable_name>=100){ 
    echo '<p style="color: green;">'.$variable_name.' is equal or greater than 100</p>'; 
    } 
} 

내 질문은 어떻게 PHP는 어떤 변수 (상단에 선언)에 해당하는 숫자 ($ 카운터)에 따라 사용 말할 수 있습니까?

Av_2o is equal or greater than 100 

Av_6o is equal or greater than 100 

Av_7o is equal or greater than 100 

Av_8o is equal or greater than 100 

어떻게 내가 변수 이름을 인쇄 할 수 있습니다 :이 경우를 들어

, 내가 얻을 출력 2009 년입니다 다음은? 또는 내가 현재 사용하고있는 $ Av_xo를 정확히 알고 있습니까?

감사합니다.

당신은 배열에 데이터베이스 값을 저장하고, 그 인덱스로 카운터를 사용할 수
+0

일부 코드를 편집 한 후 이제 작동합니다. :) – Pathros

답변

1

:

$array = array("foo", "bar", "hello", "world"); 
for($counter=0; $counter<=$top_counter;$counter++){ 
    var_dump($array[$counter]); 
} 

주 $에서 변화는 카운터 = 1 $에 카운터 = 0, 배열의 인덱싱 (0으로 시작으로 예를 들어 위 배열의 경우 $array[0] = "foo"$array=[2] = "hello")

1

표준 변수를 사용하지 않을 것입니다. 불확실한 수의 변수를 생성 할뿐만 아니라 기본적으로 배열을 작성하므로 원하는 작업을보다 쉽게 ​​관리 할 수 ​​있습니다.

$av = array(); 
while($row = mysqli_fetch_assoc($someresultset)) $av[] = $row['field']; 

for($counter=1;$counter<=$top_counter;$counter++){ 
    if($av[$counter] >= 100){ 
    echo '<p style="color: green;">'.$av[$counter].' is greater than 100</p>'; 
    } 
}