Wenn ich für mehrere FOR-Schleifen innerhalb eines Script
die gleiche Variable verwende, wird die zweite Schleife
nicht ausgeführt. Warum eigentlich? Hier ein Beispiel, das
NICHT funktioniert:
<?PHP
$zahl=0;
for ($zahl == 1 ; $zahl < 13 ; $zahl++)
{
echo $zahl;
}
$zahl=0;
for ($zahl == 1 ; $zahl <10 ; $zahl++)
{
echo $zahl;
}
?>
Also in diesem Script wird bei mir die zweite FOR-Schleife
nicht durchlaufen.
Wenn ich nach dem zweiten $zahl=0 ein Echo $zahl einsetze,
wird mir wie erwartet eine 0 ausgegeben.
Ändere ich die Variable $zahl in der 2. Schleife, läuft
alles wie erwartet.
Habe ich irgendwo einen logischen Fehler, den ich nicht sehe?
Gruß
Heiko
> <?PHP
<?php
> $zahl=0;
> for ($zahl == 1 ; $zahl < 13 ; $zahl++)
for ($zahl = 1 ; $zahl < 13 ; $zahl++)
> {
> echo $zahl;
> }
>
> $zahl=0;
> for ($zahl == 1 ; $zahl <10 ; $zahl++)
for ($zahl = 1 ; $zahl <10 ; $zahl++)
> {
> echo $zahl;
> }
> ?>
> Habe ich irgendwo einen logischen Fehler, den ich nicht sehe?
Ja: == ist nicht =.
MfG
Niels
--
| http://www.kolleg.de · Das Portal der Kollegs in Deutschland |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · e-Commerce · Joomla! Content Management |
------------------------------------------------------------------
> Wenn ich für mehrere FOR-Schleifen innerhalb eines Script
> die gleiche Variable verwende, wird die zweite Schleife
> nicht ausgeführt. Warum eigentlich?
Weil Deine Schleifenkonstruktion kaputt ist.
> Hier ein Beispiel, das
> NICHT funktioniert:
>
> <?PHP
> $zahl=0;
> for ($zahl == 1 ; $zahl < 13 ; $zahl++)
^^
Das ist sicher falsch. An dieser Stelle steht üblicherweise eine
Zuweisung (Startwert), kein Vergleich. Ein Vergleich wäre hier auch
vollkommen sinnfrei.
Allerdings ergäbe dann die Zuweisung vor der Schleife auch keinen Sinn.
> {
> echo $zahl;
> }
Die Zahl, die hier als erste ausgegeben wird, hätte Dich eigentlich
schon stutzig machen müssen.
> $zahl=0;
> for ($zahl == 1 ; $zahl <10 ; $zahl++)
^^
Gleiches Problem wie oben.
> {
> echo $zahl;
> }
> ?>
>
> Also in diesem Script wird bei mir die zweite FOR-Schleife
> nicht durchlaufen.
Bei mir schon. Die Ausgabe lautet:
01234567891011120123456789
Genau diese Ausgabe hatte ich aufgrund Deines Programms auch erwartet.
Wie sieht denn Dein Ergebnis aus?
Gruß. Claus
Nö, warum? Es wird eine 1 ausgegeben.
>> Also in diesem Script wird bei mir die zweite FOR-Schleife
>> nicht durchlaufen.
>
> Bei mir schon. Die Ausgabe lautet:
>
> 01234567891011120123456789
>
> Genau diese Ausgabe hatte ich aufgrund Deines Programms auch erwartet.
>
> Wie sieht denn Dein Ergebnis aus?
Mein Ergebnis sieht so aus:
Schleife 1:
123456789101112
Und aus Schleife 2:
keine Ausgabe
Gruß
Heiko
Ups! Danke.
Gruß
Heiko
> Am 06.11.2009 08:44, schrieb Claus Reibenstein:
>
>> Heiko Warnken schrieb:
>>
>>> Wenn ich für mehrere FOR-Schleifen innerhalb eines Script
>>> die gleiche Variable verwende, wird die zweite Schleife
>>> nicht ausgeführt. Warum eigentlich?
>>
>> Die Zahl, die hier als erste ausgegeben wird, hätte Dich eigentlich
>> schon stutzig machen müssen.
>
> Nö, warum? Es wird eine 1 ausgegeben.
Dann ist das Programm, welches Du gepostet hast, nicht das, welches Dir
Probleme bereitet.
Gruß. Claus