Динамические строки и столбцы внутри цикла foreach

Я пытаюсь, но я застрял с логикой... так что у меня есть это:

$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>';

Я хочу показать результаты, как это:

[1][2]
[3][4]
[5][6]
[7][8]
[9][10]

Я должен использовать заявление в то время как? А за кругом? Внутри или снаружи код foreach?

Я действительно не понимаю...

Спасибо за любую помощь

3 ответа

Решение

Вот очень простой пример того, как сделать такое построение 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>';

Таким образом, вы можете изменить $numCols на 3 или 4 (или любое число) и всегда видеть это количество столбцов в выводе, и это происходит без использования вложенного цикла.

Взгляните на эту ссылку для отображения последних сообщений на страницах, отличных от WordPress. Я думаю, что вы можете искать способ обойти объекты get методы. Для этого вам понадобится вложенный цикл и какое-то отражение.

Я только недавно работал с SimplePie над февральским выпуском Cogenuity, так что это все еще свежо в моей памяти.

  • Ваш $some_value переменная никогда не инициализируется.
  • Объект $item будет иметь такие методы как get_permalink(), get_title(), get_description(), а также get_date()
Другие вопросы по тегам