filas y columnas dinámicas dentro de un bucle foreach
Pregunta
Lo estoy intentando, pero estoy atascado con la lógica ... entonces, tengo esto:
$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>';
Quiero mostrar los resultados de esta manera:
[1][2]
[3][4]
[5][6]
[7][8]
[9][10]
¿Tengo que usar una sentencia while? Un bucle for? ¿Dentro o fuera del código de foreach?
Realmente no lo entiendo ...
Gracias por cualquier tipo de ayuda
Solución
Aquí hay un ejemplo muy simple de cómo hacer este tipo de creación de HTML.
<?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>';
De esta manera, puede cambiar $ numCols para que sea 3 o 4 (o cualquier número) y siempre vea esa cantidad de columnas en la salida, y lo hace sin utilizando un bucle anidado.
Otros consejos
Eche un vistazo a este enlace a Mostrar publicaciones recientes en una página que no sea de WordPress . Creo que lo que puede estar buscando es una forma de recorrer los objetos para obtener métodos. Para eso necesitarás un bucle anidado y algún tipo de reflexión.