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.