Brechen, PHP array in 3 Spalten
Ich bin versucht zu brechen, ein PHP-array in 3 Spalten (hat zu Spalten, nicht Zeilen), so würde es in etwa so Aussehen:
Item 1 Item 2 Item 3
Item 4 Item 5 Item 6
Item 7 Item 8 Item 9
Item 10................
Der beste Ansatz, den ich denken kann, wäre zu brechen, die die Haupt-array in 3 arrays, 1 für jede Spalte kann ich zwar nicht der beste Ansatz, um dies zu tun - genauer gesagt, die Kriterien die ich verwenden könnte, um zu generieren, die 3 arrays.
- Wie sollten die Artikel bestellt werden, die innerhalb dieser Spalten? (sollte es 123,456,789 oder 147,258,369)
- "Zu Spalten, nicht in Zeilen"...? Aber Sie sind mit Reihen von Daten in deinem Beispiel...?
- stellen Sie sich die Daten in drei divs, 1 für jede Spalte. Das ist nicht Zeilen.
- Mit den Daten, die Sie zeigen, es macht kaum einen Unterschied. Eine normale Tabelle anzeigen tun könnte. Was genau wollen Sie erreichen? Warum ist es wichtig, zu denken, der die Daten in Spalten, nicht in Zeilen 3 Spalten? Warum eine Spalte müssen eine
<div>
? Wieso braucht es eine<div>
und warum nicht geben Sie dies in die Frage? - Es muss sich Spalten, nicht in Zeilen wie, was ich versuche, Anzeige Bilder von gleich breiten, aber unbestimmten Höhen. Die Idee ist, dass Sie die Anzeige, um über die Zeilen, aber so, dass die Abstände zwischen jedem Bild vertikal immer gleich sind, werden Sie gruppiert nach Spalten. Die Tatsache, dass ich nicht angegeben, dass es braucht, um in
<divs>
ist irrelevant, da hatte ich bereits erklärt, dass es braucht, um in Spalten, nicht in Zeilen. - Aufgrund der fehlenden Spezifität in der Frage (es fehlen: klar strukturierte Eingabe -, ein -, Codier-Versuch, und exakt die gewünschte Ausgabe), die Kommentare, feedback eingeholt und nicht wirklich bekommen es, das Breite Spektrum von Lösungen, die enthalten, unterschiedlichen Ergebnissen, die akzeptierten Antworten, das gibt ein snippet, dass nur isoliert auf eine einzelne Spalte, und andere, die können oder können nicht ordnungsgemäß bestellt Spalten (und nicht der Unterkunft für die Zeilen mit weniger als 3 Zellen ... ich bin die Abstimmung Unklar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde dieses:
Oder bei der Verwendung von html-Tabelle:
$i != 0
zusammen mit der$i % 3 == 0
. (Mit === hat nicht funktioniert). Aber danke für deine Hilfe.Können Sie
array_slice
extrahiert einen Abschnitt eines Arrays, also:Edit: Wie @deceze Punkte aus, dieser tut das gleiche wie
array_chunk
. (Ich wusste, dass PHP etwas gebaut-in.) So verwenden Sie stattdessen!array_chunk
? :o)for
? Nur in umgekehrter Schleifen. Sind Sie auf der looping mitforeach
? Ändern Sie es zufor
.foreach
verwenden Sie einefor
...for
ist von Vorteil, überforeach
in diesem FallWenn man Ihre Frage Thema es der erste Eindruck,"Spalte" und ich denke, Sie benötigt, um den Fokus auf die visuellen Aspekte. "Wie, um Ihre array drei Spalten" Kann sein, meine Idee ist falsch. Aber ich denke, Sie wollte, dass. Überprüfen Sie einfach folgende Beispiel, wenn mein Gedanke richtig ist.
Hatte gerade darüber nachgedacht, diese sollte erreichen, was ich will - ob es die Schnellste Methode, aber ich bin mir nicht sicher:
EDIT: Das gleiche wie oben, obwohl mit einer einzigen foreach-Schleife:
Dort gehen Sie, es nur gibt eine neue Zeile aus, wenn Sie Ihre Spalte zu zählen. Müssen Sie möglicherweise eine gewisse Logik, wenn die Daten nicht ein Vielfaches von 3.
Mittels array_chunk können Sie split-array :