繁体   English   中英

php:html表中的输出数组

[英]php: output Array in html table

如何将所有值写入HTML表中?

这是数组:

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [0] => 
                    [1] => sortprice
                    [2] => sortdate
                )

            [1] => Array
                (
                    [0] => a lorem ipsum
                    [1] => 1. Preis
                    [2] => 1998
                )

            [2] => Array
                (
                    [0] => b lorem ipsum
                    [1] => 2. Preis
                    [2] => 1997
                )

            [3] => Array
               (
                    [0] => c lorem ipsum
                    [1] => 3. Preis
                    [2] => 1996
                )
        )

)

我只能输出所有值。 像这样:

foreach ($table['data'] as $v1) {
        foreach ($v1 as $v2) {
            echo "$v2\n";
        }
    }

如何使用foreach访问$表$'[data'] [1] ..的值? 要将它们写入表单元格,如下所示:

 <table> <tr> <td>a lorem ipsum</td> <td>1. Preis</td> <td>1998</td> </tr> ..... </table> 

您的foreach循环如下所示:

echo "<table border='1'>";
foreach ($table['data'] as $v1) { //loop for ROW
    echo "<tr>";
    foreach ($v1 as $v2) { //loop for CELL
        echo "<td>$v2</td>";
    }
    echo "</tr>";
}
echo "</table>";

当您在数据中嵌入了列标题时,我将首先打印表标题,然后循环遍历其余数据。

<?php

$table = [
    'data' => [
        [
            'Column 1',
            'Column 2',
            'Column 3'
        ],
        [
            'foo',
            'bar',
            'baz'
        ],
        [
            'big',
            'fat',
            'mamma'
        ]
    ]
];

$data = $table['data'];
?>
<table>
    <thead>
        <tr>
            <th><?= $data[0][0] ?></th>
            <th><?= $data[0][1] ?></th>
            <th><?= $data[0][2] ?></th>
        </tr>
    </thead>
    <tbody>
    <?php
    array_shift($data);
    foreach($data as $value)
    {
    ?>
        <tr>
            <td><?= $value[0] ?></td>
            <td><?= $value[1] ?></td>
            <td><?= $value[2] ?></td>
        </tr>
    <?php
    }
    ?>
    </tbody>
</table>

输出:

<table>
    <thead>
        <tr>
            <th>Column 1</th>
            <th>Column 2</th>
            <th>Column 3</th>
        </tr>
    </thead>
    <tbody>
            <tr>
            <td>foo</td>
            <td>bar</td>
            <td>baz</td>
        </tr>
            <tr>
            <td>big</td>
            <td>fat</td>
            <td>mamma</td>
        </tr>
        </tbody>
</table>
<table>
    <tr><td>ID</td><td colspan="2"><?php echo $table['id']?></td></tr>
    <tr><td>Name</td><td colspan="2"><?php echo $table['nmae']?></td></tr>
    <tr><td>Description</td><td colspan="2"><?php echo $table['description']?></td></tr>
    <tr><td>Author</td><td colspan="2"><?php echo $table['author']?></td></tr>
    <tr><td>Last Modified</td><td colspan="2"><?php echo $table['last_modified']?></td></tr>
    <?php foreach($table['data'] as $v1){ ?>
    <tr><td><?php echo $v1[0];?></td><td><?php echo $v1[1];?></td><td><?php echo $v1[2];?></td></tr>
    <?php } ?>
</table>

你可以试试看

<?php
if(!empty($table['data'])){ 
    echo "<table><body>";
    foreach($table['data'] as $data){
        echo "<tr>";
        echo "<td>".$data[0]."</td>";
        echo "<td>".$data[1]."</td>";
        echo "<td>".$data[2]."</td>";
        echo "</tr>";
    }
    echo "</body></table>";
}

?>

试试这个代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM