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

StackOverflow https://stackoverflow.com/questions/608195

  •  03-07-2019
  •  | 
  •  

Вопрос

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

$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]

Я должен использовать оператор while?Цикл for?Внутри или вне кода foreach?

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

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

Это было полезно?

Решение

Вот такой очень просто пример того, как сделать такого рода 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.Я думаю, что то, что вы, возможно, ищете, - это способ перебора методов получения объектов.Для этого вам понадобится вложенный цикл и какое-то отражение.

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

  • Ваш $some_value переменная никогда не инициализируется.
  • Объект $item будет иметь такие методы, как get_permalink(), get_title(), get_description(), и get_date()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top