在 html 表格中显示一个数组

Posted

技术标签:

【中文标题】在 html 表格中显示一个数组【英文标题】:Display an array in html table 【发布时间】:2011-02-15 23:42:38 【问题描述】:

我有这个数组:

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 吗?您可能希望这样标记问题。 能否请您发布您尝试的内容,以便我们找出问题所在?谢谢! 【参考方案1】:

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

假设这是 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>';
?>

【讨论】:

我没有为你的列输出标题,但你可以在循环之前这样做。【参考方案3】:

对不起,我没有标记为 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

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于在 html 表格中显示一个数组的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML 表格中显示嵌套数组

一个表格中选定的tr,显示在另一个表格中

获取mysql中的多条记录并存入json数组中显示在HTML表格单单字段中

使用字符串(不是HTML)以表格格式显示对象数组。

如果表格只有一行,则 HTML 表格中的列宽会发生变化

使用JavaScript语言定义一个二维数组,并把数组元素显示到表格中