for Schleifen-Problem

Ich habe folgendes Script:
[PHP]for($i=0; $i<5; $i++)
{
for($j=0; $j<4; $j++)
{
echo „hi“;
if($j=4)
{
echo „
“;
}
}
}[/PHP]
Wenn ich es benutze steht 5 Mal i untereinander. Ich möchte aber das es vier Mal hintereinander und 5 MNal untereinander steht. Wieso funktioniert das nicht?

einfach unterteilen ^^.

[php]

<?php for($i = 0; $i < 5; $i++) { echo 'hi'; } for($j = 0; $j <= 5; $j++) { echo 'hi
'; } ?>

[/php]

Nils aka XraYSoLo

Ich glaub ich hab mich falsch ausgedrückt. bEi dir kommt das raus:
hihihihihihi
hi
hi
hi
hi
hi
Ich möchte aber das das raus kommt:
hihihihihihi
hihihihihihi
hihihihihihi
hihihihihihi
hihihihihihi

soweit ich weiß, sind schleifen nur eindimenisonal…das musste mit 'ner array-funktion kombinieren, damit tabellen 'rauskommen.

Nils aka XraYSoLo

[php] <?php
for($i = 0; $i < 5; $i++)
{
for($j = 0; $j <= 5; $j++)
{
echo ‚hi‘;
}

echo '<br />';

}
?>[/php]so vielleicht ? habs noch net getestet

Gruß Jan

danke das funktioniert

Das will ja keiner Lesen wollen, Einrücken ;).

Dein Fehler, welches auch eigentlich beim Anschauen direkt auffallen sollte,
liegt an der 2. Schleife, er zählt ja nicht von 1-4 sondern von 0-3.

Du hast ja auch gesagt, $j soll den Integer 0 enthalten und soll immer unter 4 sein ;).

Außerdem gibst du $j den Wert 4 und überprüfst nicht.

Korrekt (und mit Einrückungen :P) sähe es dann folgendermaßen aus:

[php]<?php

for( $i=0; $i<5; $i++ )
{
for( $j=0; $j<4; $j++ )
{
echo „hi“;

     if ($j == 3 )
     {
         echo "<br>";
     }
 }

}
?>[/php]Bequemer wäre natürlich:

[php]for( $i=0; $i<5; $i++ )
{
for( $j=0; $j<4; $j++ )
{
echo „

hi“;
}

echo "</p>";

}
?>[/php]

Oder halt wie oben beschrieben, mit
.

mal 2 andere Methoden:
[php]
print implode(„
“, array_fill(0, 5, str_repeat(„hi“, 6)));
//bzw
print str_repeat(str_repeat(„hi“, 6).„
“, 5);
[/php]

imho ist das die, entschuldige mich, schlampige Variante :P.