• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

for Schleifen-Problem

Status
Für weitere Antworten geschlossen.

FleyerShaver

Neues Mitglied
Ich habe folgendes Script:
PHP:
for($i=0; $i<5; $i++)
{
for($j=0; $j<4; $j++)
{
echo "hi";
if($j=4)
{
echo "<br>";
}
}
}
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?
 
Werbung:
einfach unterteilen ^^.

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

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

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
 
Werbung:
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 />';
}
?>
so vielleicht ? habs noch net getestet

Gruß Jan
 
Zuletzt bearbeitet:
Werbung:
Ich habe folgendes Script:
PHP:
for($i=0; $i<5; $i++)
{
for($j=0; $j<4; $j++)
{
echo "hi";
if($j=4)
{
echo "<br>";
}
}
}
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?


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>";
         }
     }
}
?>
Bequemer wäre natürlich:

PHP:
for( $i=0; $i<5; $i++ )
 {
    for( $j=0; $j<4; $j++ )
    {
         echo "<p>hi";
    }
     
    echo "</p>";
 }
?>

Oder halt wie oben beschrieben, mit <br />.
 
Zuletzt bearbeitet:
mal 2 andere Methoden:
PHP:
print implode("<br />", array_fill(0, 5, str_repeat("hi", 6)));
//bzw
print str_repeat(str_repeat("hi", 6)."<br />", 5);
 
imho ist das die, entschuldige mich, schlampige Variante :p.
 
Zuletzt bearbeitet:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben