2016-10-13 4 views
1

Ist es möglich, etwas zu einem Variablennamen in einer PHP-Variablen hinzuzufügen oder zu verketten? Zum Beispiel:PHP zum Variablennamen hinzufügen

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

Ich möchte dies geschehen kann:

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

Für solche Zwecke verwenden __arrays__ –

+0

'$$' ist Ihre Antwort –

Antwort

1

Verkettet die $g mit grade und diesem Wert eine Variable, indem sie eine Zugabe $ Zeichen an der Startlinie ...

Das Beispiel unten angegeben:

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

Genau das, was ich gesucht habe. Vielen Dank – aronccs

0

Sie sollten ARRAY verwenden, anstatt Ihre Methode. :)

Versuchen Sie, Variable namens "$$" zu sehen.

EDIT: Vielleicht so etwas wie

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

$ data = array(); wäre auch möglich – TechTreeDev

1

Eine Lösung, die Variablen würde dynamisch zu erstellen:

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