2010-05-05 3 views
2

У меня есть этот массив:Отображение массива в HTML таблице

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 

Я пытался во многих отношениях, но Бесполезный» t работы, любые решения?

+0

Это использование PHP? Вы можете пометить вопрос как таковой. – JYelton

+0

Не могли бы вы опубликовать то, что вы попробовали, чтобы мы могли понять, что было не так? Благодаря! – DVK

+0

Да, пожалуйста, покажите код. –

ответ

5

Предполагая, что это 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>'; 
?> 
+0

Я не выводил заголовки для ваших столбцов, но вы могли сделать это до цикла. – JYelton

+0

Спасибо, теперь его работа – DaviBenNun

0

Это предполагает, что есть больше страниц, чем категории, и что они проводятся в $ Array [ «страницы»] и $ Array [ «категории»] переменные:

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

Есть более элегантные способы, но это должно сработать.

0

жаль, что я не маркировать, как 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>"; 

, но в любом случае, JYelton ответ работал очень хорошо, спасибо = D

0

у меня есть опыт получения результата из базы данных, которая является массивом. Я создал класс в качестве контейнера для унифицированного набора результатов, который представляет собой несколько строк. Просто получите свойство с помощью getter или получите доступ к нему напрямую, если он открыт.

Смежные вопросы