在html表中显示一个数组

时间:2010-05-05 14:52:58

标签: php html arrays html-table

我有这个数组:

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

我尝试过多种方式,但没有工作,任何解决方案?

4 个答案:

答案 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>';
?>

答案 1 :(得分:0)

这假设页面多于类别,并且它们保存在$ 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>';

有更优雅的方式,但这应该有用。

答案 2 :(得分: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

答案 3 :(得分:0)

我有从数据库获取结果的经验。我创建了一个类作为统一结果集的容器,它是多行的。如果是公共场所,只需使用getter获取该属性或直接访问该属性。