【问题标题】:How to create table from array?如何从数组创建表?
【发布时间】:2011-12-30 23:11:36
【问题描述】:

我从这个数组中按特定顺序创建一些表有点困难:$test

数组如下所示:

Array
(
    [ET5] => Array(
        [0] => Array(
            [0] => Array(
                [total] => 430
            )
        )
        [1] => Array(
            [0] => Array(
                [total] => 406
            )
        )
    )
    [FA] => Array(
        [0] => Array(
            [0] => Array(
                [total] => 0
            )
        )                   
        [1] => Array(
            [0] => Array(
                [total] => 0
            )
        )
    )
    [ET5] => Array(
        [0] => Array(
            [0] => Array(
                [total] => 189
            )
        )
        [1] => Array(
            [0] => Array(
                [total] => 228
            )
        )
    )
    [FA] => Array(
        [0] => Array(
            [0] => Array(
                [total] => 0
            )
        )
        [1] => Array(
            [0] => Array(
                [total] => 0
            )
        )
    )
)

我要创建的表应该是这样的:

表1

test1      test2   test3
ET5        430     189
FA         0       0

表2

test1      test2    test3
ET5        406      228
FA         0        0

test1, test2, test3 是已知字符串

我有点卡在这个问题上,注意ET5 中的值是如何在两个表中的。

对此有什么想法吗?

【问题讨论】:

  • 当然,您真的没有一个数组,其中包含具有不同值的重复键名。还是我误读了什么?

标签: php arrays foreach html-table


【解决方案1】:

你绝对不应该像上面那样覆盖数组的键。

我会通过将它们作为数组添加到您已经多维的数组中来分离每个表中您想要的内容...

$test = array(
    [0] => array(
        [ET5] => array(), //rest of inner contents inside these arrays of course
        [FA] => array()
    ),
    [1] => array(
        [ET5] => array(),
        [FA] => array()
    )
);

然后像在任何数组上一样运行你的 foreach 循环:

<?php foreach($test AS $key => $val): ?>
<table>
    <tr>
        <th>Test1</th>
        <th>Test2</th>
        <th>Test3</th>
    </tr>
    <?php foreach($val AS $v => $info): ?>
    <tr>
        <td><?php echo $v; ?></td>
        <td><?php echo $info[0][0]['total']; ?></td>
        <td><?php echo $info[1][0]['total']; ?></td>
    </tr>
    <?php endforeach; ?>
</table>    
<?php endforeach; ?>

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2018-03-10
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多