Преобразовать html-таблицу

Привет У меня есть массив имен фильмов в алфавитном порядке, из которых я хочу создать таблицу html, я хочу сделать это на лету, поэтому я сделал следующее:

echo "<div align=\"center\"><table>"; $i=0; foreach ($results as $entry){ //If first in row of 4, open row if($i == 0) { echo "<tr>\n"; } //print a cell echo "\t<td>" . $entry . "</td>\n"; i++; //if last cell in row of 4, close row if($i == 4) { echo "</tr>\n"; $i=0; } } if($i < 4) { while($i < 4) { echo "\t<td></td>\n"; $i++; } echo "</tr>\n"; } echo "</table></div>"; 

Однако это создает таблицу, которая выглядит так:

 entry0 | entry1 | entry2 | entry3 entry4 | entry5 | entry6 | entry7 

Как я могу построить таблицу, например:

 entry0 | entry3 | entry6 entry1 | entry4 | entry7 entry2 | entry5 | entry8 

?

Я предполагаю, что мне пришлось бы реорганизовать мой массив $ results и все равно построить таблицу так же?

Я очень новичок в php (неделю!), Поэтому я не уверен, как это сделать

Спасибо за вашу помощь

 $results = array( 'e1', 'e2', 'e3', 'e4', 'e5', 'e6','e7' ); $NUM_COLUMNS = 3; $numRows = count($results) / $NUM_COLUMNS; if (count($results) % $NUM_COLUMNS > 0) { $numRows += 1; } echo "<div align=\"center\"><table>"; $i=0; for ($i = 0; $i < $numRows; $i++) { echo "<tr>\n"; $index = $i; for ($j = 0; $j < $NUM_COLUMNS; $j++) { //print a cell $entry = ''; if ($index < count($results)) { $entry = $results[$index]; } echo "\t<td>" . $entry . "</td>\n"; $index += $numRows; } echo "</tr>\n"; } echo "</table></div>"; 

Это проверено и включает сортировку элементов по вертикали. Я бы написал описание, но мне просто позвонили и пошли. Я отвечу на вопросы, если у вас есть что-то в ~ 1 час. (Прости!)

Как насчет этого: (я не тестировал, но все должно быть в порядке)

 <?php $i = 1; $max = 3; // this is the number of columns to display echo "<div align=\"center\"><table><tr>"; foreach ($results as $entry) { echo "<td style=\"text-align: center;\">"; echo $entry; echo "</td>"; $i++; if ($i == ($max)) { echo '</tr><tr>'; $i = 1; } } echo "</tr>\n"; echo "</table></div>"; ?>