У меня есть этот массив:
Array ( [page] => Array ( [0] => add [1] => edit [2] => delete [3] => search ) [category] => Array ( [0] => add [1] => edit [2] => export ) )
И я хочу, чтобы он отображался в виде таблицы html следующим образом:
Page - Category add - add edit - edit delete - export search search
Я пытался разными способами, но не работал, никаких решений?
Предполагая, что это PHP и что выравнивание просто основано на индексе массива:
<?php $var['page'] = array('add', 'edit', 'delete', 'search'); $var['category'] = array('add', 'edit', 'export'); $pages = count($var['page']); $categories = count($var['categories']); $max = ($pages > $categories ? $pages : $categories); echo '<table>'; for ($i = 0; $i < $max; $i++) { echo '<tr>'; echo "<td>{$var['page'][$i]}</td>"; echo "<td>{$var['category'][$i]}</td>"; echo '</tr>'; } echo '</table>'; ?>
Это предполагает, что страниц больше, чем категорий, и что они хранятся в переменных $ Array ['pages'] и $ Array ['categories']:
print '<table><tr><td>Page</td><td>Category</td></tr>'; for ($i=0; $i< sizeof($Array['pages']; $i++) { print '<tr><td>'; print $Array['pages'][$i]; print '</td><td>'; if ($i < sizeof($Array['categories'])) print $Array['categories'][$i]; print '</td></tr>'; } print '</table>';
Есть более элегантные способы, но это должно сработать.
жаль, что я не пометил как PHP … вот код моей последней попытки
echo "<table>"; for($i=0;$i<count($array);$i++) { echo "<tr>"; foreach($array as $key=>$value) { echo "<td>".$array[$key][$i]."</td>"; } echo "</tr>"; } echo "</table>";
но так или иначе, ответ Дж. Элтона работал очень хорошо, спасибо = D
У меня есть опыт получения результата из базы данных, которая является массивом. Я создал класс в качестве контейнера для унифицированного набора результатов, который представляет собой несколько строк. Просто получите свойство с помощью getter или получите доступ к нему напрямую, если он открыт.