for mit variablen funzt nett?!

MIniMe_

Erfahrenes Mitglied
ich poste mal den code:
PHP:
x=3;
for ( $i = $x ;$i <= $x ; $i++ )
{
   $array[$i] = "abc";
}
echo "<br><br><hr>";
foreach ($array as $a) {
echo "$a test<br>\n";
}
das funzt nett weill ich $i mit $x definiert habe. sobald ich aber eine zahl nehme geht es wieder.... warum funzt es nicht wenn ich im for $x nehme, und was kann ich machen das es wieder funzt?
 
das Problem ist nicht die Verwendung einer Variablen. ;)

Das Problem ist, daß die FOR-Schleife ja nur dann (bzw. solange) ausgeführt wird, wie $i <= $x ist.

Die Frage ist jetzt: warum ist $i nicht <= $x ??? sollte man ja eigentlich annehmen, daß das gleich ist....

Da aber $i beim Eintritt in die Schleife erhöht wird ist es eben nicht mehr gleich sondern größer, und damit ist die Bedingung für das Durchlaufen der Schleife nicht mehr gegeben.

Ist nur meine Vermutung. Korrigiert mich falls es anders ist. ;)


Ausserdem: Du hast geschrieben "x=3" anstatt "$x=3" ... vielleicht liegts auch daran ;)

Dunsti
 
Moin,

also hier ist noch mal dein Code:
PHP:
x=3;
for ( $i = $x ;$i <= $x ; $i++ )
{
   $array[$i] = "abc";
}
echo "<br><br><hr>";
foreach ($array as $a) {
echo "$a test<br>\n";
}

Wenn wir mal davon ausgehen das

PHP:
x=3

nur ein Schreibfehler war,
sieht deine schleife mal nur mit Zahlen so aus:
PHP:
$x=3;
for ( $i = $x ; 3 <= 3 ; $i++ )
{
   $array[$i] = "abc";
}
echo "<br><br><hr>";
foreach ($array as $a) {
echo "$a test<br>\n";
}

$i ist also schon am Anfang gleich $x,
deswegen wird die Schleife nicht durchlaufen.

Oder sehe ich da was falsch ?

Gruß

Texaner
 
Zuletzt bearbeitet:
Jap @ Texaner, stimmt schon.

In diesem Falle müsste der Code so lauten:

PHP:
$y=0;
$x=3;
for ( $i = $y ; $i <= $x ; $i++ )
{
   $array[$i] = "abc";
}
echo "<br><br><hr>";
foreach ($array as $a) {
echo "$a test<br>\n";
}
 
weia, ich schäme mich ja richtig! so ein dummer dau fehler! naja, war recht spät gestern abend als ich das gescripte habe, da übersieht man so einiges :)
 

Neue Beiträge

Zurück