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

¿Fue útil?

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.

Hace poco estuve trabajando con SimplePie en la versión de febrero de Cogenuity así que esto todavía está fresco en mi mente.

  • Su variable $ some_value nunca se inicializa.
  • El objeto $ item tendrá métodos como get_permalink (), get_title (), get_description () y get_date()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top