dynamische Zeilen und Spalten in einer Schleife foreach
Frage
Ich versuche, aber ich bin mit der Logik stucked ... so, ich habe dies:
$max_items=10;
echo '<table>';
echo '<tr>';
foreach ($feed->get_items(0, $max_items) as $item):
echo '<td>';
echo $some_value;
echo '</td>';
endforeach;
echo '</tr>';
echo '</table>';
Ich möchte wie dies die Ergebnisse zeigen:
[1][2]
[3][4]
[5][6]
[7][8]
[9][10]
Ich habe eine while-Anweisung benutzen? A für Schleife? Innerhalb oder außerhalb des foreach-Code?
ich es nicht wirklich bekommen ...
Vielen Dank für jede Art von Hilfe
Lösung
Hier ist ein sehr einfach Beispiel dafür, wie diese Art von HTML-Gebäuden zu tun.
<?php
$data = range( 'a', 'z' );
$numCols = 2;
echo "<table>\n";
echo "\t<tr>\n";
foreach( $data as $i => $item )
{
if ( $i != 0 && $i++ % $numCols == 0 )
{
echo "\t</tr>\n\t<tr>\n";
}
echo "\t\t<td>$item</td>\n";
}
echo "\t</tr>\n";
echo '</table>';
Auf diese Weise können Sie $ numCols ändern 3 oder 4 (oder eine beliebige Zahl) und immer, dass die Anzahl der Spalten in der Ausgabe sehen, und es tut so ohne mit einem verschachtelten Schleife.
Andere Tipps
Werfen Sie einen Blick auf diesen Link auf Anzeige Recent Posts auf einem Nicht-Wordpress-Seite . Ich denke, was Sie suchen können, eine Möglichkeit, um Schleife über die Objekte Methoden erhalten. Dafür benötigen Sie eine verschachtelte Schleife und eine Art von Reflexion.