PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablennamen


Vali
12.01.2005, 10:58:37
Hallo,

ich habe nun ein weiteres Problem bei dem ich nicht weiterkomme. Ich übergebe aus einem Script in das nächste Variablen die immer aus folgenden zusätzen bestehen:

$K_Z und 1,2,3 ... 30
$A_Z und 1,2,3 ... 30
$L_Z und 1,2,3 ... 30
$S_Z und 1,2,3 ... 30

Die Namen der Variablen sind immer gleich bis auf die Zahl die hinten anhängt. Diese ist immer 1 bis 30. So nun möchte ich in meinem nächsten Script diese Variablen mitunter ausgeben. Bei 30 Zeilen ist das für mich faulen Menschen viel zu schreiben und ich bin zu dem Schluß gekommen das ich eine for Schleife benutzen sollte.->

for($z=1;$z<31;$z++)
{
echo"
<tr>
<td align="center" bgcolor="#EBEBEB">$z</td>
<td>$K_Z.$z</td>
<td>$A_Z.$z</td>
<td>$L_Z.$z</td>
<td>$S_Z.$z</td>
</tr>
";
}

Der jeweilige Variablennamme sollte ja der Logik nach aus z.B. K_Z und $z bestehen. Ich habe nun verschiedenste Kombinationsmöglichkeiten probiert und komme nicht dahinter wie ich das korrekt schreiben sollte.

xabbuh
12.01.2005, 12:06:19
Das könnte zum Beispiel so aussehen:

<?php
for($i = 0; $i < 31; $i++) {
$tmp = $K_Z . $i;
print $$tmp;
}
?>

Vali
12.01.2005, 13:23:00
Ich wiederspreche dir ungern aber ich habe das mal auf meinen Quelltext umgesetzt (kann ja auch sein das ich es Falsch interpretiert habe) ->

for($z=1;$z<31;$z++)
{
$komp=$K_Z . $z;
$art=$A_Z . $z;
$lief=$L_Z . $z;
$sn=$S_Z . $z;
echo"
<tr>
<td align="center" bgcolor="#EBEBEB">$z</td>
<td>$$komp</td>
<td>$$art</td>
<td>$$lief</td>
<td>$$sn</td>
</tr>
";
}

und als Ergebniss bekome ich

1 $1 $1 $1 $1
2 $2 $2 $2 $2

und so weiter bis 30

c4
12.01.2005, 13:41:32
<?php
$asd1="qwe1";
$asd2="qwe2";
$asd3="qwe3";
$asd4="qwe4";

for ($i=1; $i<5; $i++) {
echo ${"asd$i"}.'<br>';
}
?>

Vali
12.01.2005, 13:50:50
Leider auch nicht ->

for($z=1;$z<31;$z++)
{
$komp="K_Z";
$art="A_Z";
$lief="L_Z";
$sn="S_Z";
echo"
<tr>
<td align="center" bgcolor="#EBEBEB">$z</td>
<td>$($komp$z)</td>
<td>$($art$z)</td>
<td>$($lief$z)</td>
<td>$($sn$z)</td>
</tr>
";
}

wenn ich hier das $ Zeichen in der Klammer $($komp$z) weglasse führt das zum gleichen Ergebniss.

Ergebniss ->

1 $(K_Z1) $(A_Z1) $(L_Z1) $(S_Z1)
2 $(K_Z2) $(A_Z2) $(L_Z3) $(S_Z4)
...

Ich möchte ja jeweils den Inhalt der Variablen

$K_Z1 $A_Z1 $L_Z1 $S_Z1
$K_Z2 $A_Z2 $L_Z2 $S_Z2

ausgeben so das ich den ganzen Spass ja nicht 30 mal schreiben. muss :).

c4
12.01.2005, 13:53:00
Übernimm es doch mal so, wie es da steht! Mit geschweiften Klammern, Hochkomma, usw.

Vali
12.01.2005, 13:57:38
UPS. Sorry hab übersehen das es geschweifte Klammern waren. Also vielen Dank.