For Schleife ";"?

... komplette Frage anzeigen

4 Antworten

Ich habe mal ein passendes Bild hinzugefügt. Kann mir jemand sagen, was in dem gelb markierten Kasten passiert?

Das Semikolon nach der zweiten For-Schleife sollte ja dann alles überspringen?

Antwort bewerten Vielen Dank für Deine Bewertung

Ein kompletter Code wäre hilfreich, normalerweise ist nach einem Semikolon  eine Anweisung zu Ende und es folgt die nächste Anweisung.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kart19
10.01.2016, 17:30
for ($i=0; $i<2; $i++){ 
for ($j=0; $j<4; $j++);{
$x4[$j][$i]=$x3[$i][$j];
$z=$z+1;
echo $z;
echo $x4;}}

Mit den werten: Z=0

x3=    12 14 15 16
       9  10 11 12
       1  2  3  4
0

die 2. for-schleife wird zwar ausgeführt, macht aber als solche keinen sinn. man hätte genausogut
$j = 5;

schreiben können.

Antwort bewerten Vielen Dank für Deine Bewertung

Ein Strichpunkt (; = Semikolon) nach einer schleife (oder auch bei einem if()) bewirkt dasselbe wie ein leerer Block:

while(...);

ist dasselbe wie

while(...){}

Dabei wird neben dem Aufwärmen des Prozessors innerhalb der Schleife einfach nichts gemacht. Dies gilt insbesondere für C, C++, Java, PHP, JavaScript und weitere Sprachen.

Antwort bewerten Vielen Dank für Deine Bewertung