Foreach Jedes N te Element

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Foreach Jedes N te Element

    Howdy Freunde,

    ich lese mir aus der DB mittels While meine Daten in ein mehrdimensionales Array.

    PHP-Code:
    $cool[$jop['Name']] = $jop
    Ich gebe sie anschließend via Foreach aus.

    PHP-Code:
    foreach ($cool as $file=>$jop)
        {

    Und jeweils drei dieser Elemente des Arrays sollen durch einen DIV container eingekesselt sein. Dafür setze ich vor und nach dem Foreach loop eine For schleife, wobei n die Anzahl der Elemente des Arrays entspricht.

    PHP-Code:
    for($is=0;$is<=$n;$is++)
        {
        
        if(
    $is%3){$prot .= "<div class=\"row\">"; echo "$is A ";}
        
        } 
    Doch das sieht nicht nur fürchterlich aus, sondern funktioniert auch nicht so wie ich es mir vorstelle. Doch leider fehlt meinem selbst angeeigneten Wissen das Nötige Know How und ich würde mich über eine Denkstütze sehr Freuen, wie ich es am saubersten Umsetzen kann.

    Beste Grüße

  • #2
    Warum addierst du in der For-Schleife nicht einfach 3 statt 1?

    Kommentar


    • #3
      Ansatz mit array_chunk:

      PHP-Code:
      <?php

      $data 
      range('A''Z');

      foreach (
      array_chunk($data3) as $chunk) {
          
      printf("<div class=\"row\">%s</div>\n"implode(', '$chunk));
      }

      // <div class="row">A, B, C</div>
      // <div class="row">D, E, F</div>
      // <div class="row">G, H, I</div>
      // <div class="row">J, K, L</div>
      // <div class="row">M, N, O</div>
      // <div class="row">P, Q, R</div>
      // <div class="row">S, T, U</div>
      // <div class="row">V, W, X</div>
      // <div class="row">Y, Z</div>

      Kommentar


      • #4
        Moin! Danke, der zweite Tipp sieht schon vielversprechend aus. Allerdings frage ich mich, wie ich die Range beim einem assoziativen Array bestimmen kann. Das array sieht folgendermaßen aus:

        PHP-Code:
        Array (     [xxy] => Array         (             [0] => xv             [Offern] => xv             [1] => xv             [desc] => xv             [2] => xv             [opreis] =>xy             [3] => xy             [preis] => xy             [4] => xy             [BildName] => xy             [5] => xy             [path] => xy             [6] => xy             [katname] => xy         )  ) 
        Und enthält eine unbestimmte Anzahl an Elementen.

        Kommentar


        • #5
          range() ist lediglich eine praktische Funktion, um ein gefülltes Array zu erzeugen. So habe ich es mir erspart, für das Beispiel array('A', 'B', 'C', …, 'X', 'Y', 'Z'); tippen zu müssen. Mit dem folgenden array_chunk()-Aufruf hat das nichts zu tun.

          Kommentar

          Lädt...
          X