Eigenartige Schleifenergebnisse

kjhofmann

Grünschnabel
Folgende While-Schleife habe ich gesetzt:
$Wert = Test;
$i = 1;
while($i < 10) {
echo "<b>Zähler i = </b>".$i."<br>";
echo "<b>Wert = </b>".$Wert.$i."<br>";
$Wert[$i] = $Wert.$n;
print_r($Wert);
echo "<br>";
$i++;
}
Als Ergebnis hoffte ich auf "Test1 Test2 Test3....
Das Ergebnis ist aber:
Zähler i = 1
Zähler n = 1
Wert = Test1
TTst
Zähler i = 2
Zähler n = 2
Wert = TTst2
TTTt
Zähler i = 3
Zähler n = 3
Wert = TTTt3
TTTT
Zähler i = 4
Zähler n = 4
Wert = TTTT4
TTTTT

Das verstehe ich nicht. Warum zerlegt das Script den Wert "Test"?
Was ist da falsch?

(Mit einer For-Schleife war es das gleiche!)
 
Über $variable[$i] wird bei Zeichenkettenwerten auf den $i-te Zeichen zugegriffen. Du änderst also mit $Wert[$i] kein Array sondern die Zeichenkette „Test“.
 
Und wie mache ich es richtig, um den jeweiligen Wert(1) bis Wert(9) zu ermitteln?
Die Variablen, die den Wert enthalten, den ich in ein Array legen will, sind $Wert1 bis $Wert9.
 
Die Methode war schon richtig. Nur darfst du die $Wert-Variable nicht überschreiben. Probier mal Folgendes:
PHP:
$Wert = "Test";
$Werte = array();
$i = 1;
while($i < 10) {
	echo "<b>Zähler i = </b>".$i."<br>";
	echo "<b>Wert = </b>".$Wert.$i."<br>";
	$Werte[$i] = $Wert.$n;
	print_r($Werte);
	echo "<br>";
	$i++;
}
 
Zurück