2016-10-13 3 views
1

Можно ли добавить или объединить что-то в имя переменной в переменной PHP? Например:PHP add to variable name

for($g = 7; $g <= 10; $g++){ 
    for($i = 0; $i <= 4; $i++){ 
     $counter = $g - 7; 
     if($i != $counter){ 
      continue; 
     } else { 
      $grade.[$g] = $grades[$i]; 
     } 
    } 
} 

Я хочу, чтобы это произошло:

$grade7 = 0 
$grade8 = 1 
$grade9 = 2 
$grade10 = 3 
+0

Для таких целей используют __arrays__ –

+0

'' $$ ваш ответ –

ответ

1

сцепляются $g с grade и сделать это значение переменной, добавив $ знак на стартовой линии ...

Пример, приведенный ниже:

for($g = 7; $g <= 10; $g++){ 
    for($i = 0; $i <= 4; $i++){ 
     $counter = $g - 7; 
     if($i != $counter){ 
      continue; 
     } else { 
      ${"grade".$g} = $grades[$i]; 
     } 
    } 
} 

echo $grade7; // 0 
echo $grade8; // 1 
echo $grade9; // 2 
echo $grade10;// 3 
+1

Именно то, что я искал. спасибо – aronccs

0

Вы должны использовать ARRAY вместо вашего метода. :)

Попробуйте посмотреть на переменную с именем «$$».

EDIT: Может быть что-то вроде

var $array = array(); 
for($g=7; $g<=10; $g++) 
{ 
    for($i=0; $i<=4; $i++) 
    { 
     $counter = $g - 7; 
     if($i != $counter) continue; 
     else $array[$grade.[$g]] = $grades[$i]; 
    } 
} 
0
$data = new Array(); 
for($g = 7; $g <= 10; $g++){ 
     for($i = 0; $i <= 4; $i++){ 
      $counter = $g - 7; 
      if($i != $counter){ 
       continue; 
      } else { 
       $data[$grade.[$g]] = $grades[$i]); 
      } 
     } 
    } 
+0

$ данных = массив(); также было бы возможно – TechTreeDev

1

Одним из решений было бы создать переменные динамически:

for ($g = 7; $g <= 10; $g++) { 
    for ($i = 0; $i <= 4; $i++) { 
     $counter = $g - 7; 
     if ($i == $counter) { 
      ${'grade' . $g} = $grades[$i]; 
     } 
    } 
}