Frage zur "While" Schleife

  • gibt es ein befehl für die While schleife das man nach allen 4 schritten etwas ausgibt?

    So mein ich das?

    while anfang:

    1 post
    2 post
    3 post
    4 post
    TEST
    5 post
    6 post
    7 post
    8 post
    TEST
    9 post
    10 post
    11 post
    12 post
    TEST
    13 post
    .
    .
    .
    usw


    also das nach jeden 4ten post etwas ausgeben soll (ein gleichbleibender text).

    irgendwie vlt. so in der art:

    while (have_posts()) EVERY 4 STEPS ('TEST')
    the_content();
    endwhile;

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • bin selber drauf gekommen...
    für alle die es wissen wolllen.. is ganz simpel^^

    $x = 0;
    dann den while schleifen anfang

    dort jedes mal $x++;

    und dann halt eine if abfrage wenn $x = 4 dann test ausgeben und x wieder 0 setzen

  • Oder miittels

    PHP
    if( $x % 4 == 0 )


    aber das nur, weil ich in Klugscheißer-Laune bin. ^^ Damit sparst du dir zumindest die eine Zeile, die $x wieder 0 setzt.

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Oder miittels

    PHP
    if( $x % 4 == 0 )

    aber das nur, weil ich in Klugscheißer-Laune bin. ^^ Damit sparst du dir zumindest die eine Zeile, die $x wieder 0 setzt.


    Hat einen Schönheitsfehler: Wenn erst nach den ersten 4 das erste mal was ausgegeben werden soll, muß man die 0te Position zusätzlich ausschliessen, denn 0 % 4 == 0.

    PHP
    if(( $x % 4 == 0 ) && ($x != 0))

    ... bin auch ein Klugscheißer :mrgreen:

  • Ich wollts nicht sagen. ;-) Aber wenn er das $x++ gleich nach Beginn der while-Schleife macht (wie er oben schreibt), dann dürfte es wieder passen. :mrgreen:

    *auch mal klugscheißen will* :mrgreen:

  • Nein, passt dann nicht, inc vorn hin und output ans Ende:

    Code
    $x=0;
    
    
    while (have_posts()) {
       $x++;
    ......
       if ($x % 4 == 0) echo "---Test!\n"; 
    }

    ergibt sonst:
    post1
    post2
    post3
    ---Test!
    post4
    post5
    post6
    post7
    ---Test!

    Somit wäre in der 1. Sektion einer zu wenig drin.
    Restklassenring Division geht nur gut, wenn man 0 indiziert arbeitet !

    Und falls man mit For Schleifen arbeitet und indizierten Arrays $array = ( 'Post1', 'Post2', ... );
    dann sollte man 0 indiziert arbeiten können denn ein $array[$x] mit einen bereits inkrementiertem $x liefert 'Post2' statt 'Post1'.

    Dies ist eine Sache, die in den meisten Programmen zu Bugs führen, weil man was übersehen hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!