簡體   English   中英

多維關聯數組轉換成html表格

[英]Multidimensional associative array into html table

我目前正在學習 php,我正在嘗試以 html 表格格式打印多維關聯數組,但在遍歷每個元素時遇到了一些麻煩,這是代碼

$test =array(
'One'=>array('fname' => 'John', 'lnom' => 'Dupond', 'age' => 25, 'city' => 'Paris'),
'Two' => array('fname' => 'Deal', 'lnom' => 'Martin', 'age' => 20, 'city' => 'Epizts'),
'Three' => array('fname' => 'Martin', 'lnom' => 'Tonge', 'age' => 18, 'city' => 'Epinay'),
'Four'=> array('fname' => 'Austin', 'lnom' => 'Dupond', 'age' => 33, 'city' => 'Paris'),
'Five'=> array('fname' => 'Johnny', 'lnom'=>'Ailta', 'age' => 46, 'city'=> 'Villetaneuse'),
'Six'=> array('fname' => 'Scott', 'lnom' => 'Askier', 'age'=>7, 'city'=>'Villetaneuse')
);

我正在嘗試做的事情:

foreach($test['One'] as $key=> $value)
{
    
    echo $value;
}

如果我應該使用嵌套的 foreach 循環或其他東西來打印所有的鍵 + 值,我不太確定其余的..

如果要完全遍歷此數組並將其轉換為 html 表,則需要兩個循環 - 一個用於主數組,第二個用於內部數組,例如:

<?php

$test =array(
'One'=>array('fname' => 'John', 'lnom' => 'Dupond', 'age' => 25, 'city' => 'Paris'),
'Two' => array('fname' => 'Deal', 'lnom' => 'Martin', 'age' => 20, 'city' => 'Epizts'),
'Three' => array('fname' => 'Martin', 'lnom' => 'Tonge', 'age' => 18, 'city' => 'Epinay'),
'Four'=> array('fname' => 'Austin', 'lnom' => 'Dupond', 'age' => 33, 'city' => 'Paris'),
'Five'=> array('fname' => 'Johnny', 'lnom'=>'Ailta', 'age' => 46, 'city'=> 'Villetaneuse'),
'Six'=> array('fname' => 'Scott', 'lnom' => 'Askier', 'age'=>7, 'city'=>'Villetaneuse')
);

?>
<table>
    <tr>
        <th>#</th>
        <th>fname</th>
        <th>lnom</th>
        <th>age</th>
        <th>city</th>
    </tr>

<?php

foreach($test as $key => $val){
    ?><tr>
        <td><?php echo $key;?></td><?php

        foreach($val as $k => $v){
            ?><td><?php echo $v;?></td><?php
        }
    ?></tr><?php
}

?>
</table>

將返回:

#     fname  lnom   age city
One   John   Dupond 25  Paris
Two   Deal   Martin 20  Epizts
Three Martin Tonge  18  Epinay
Four  Austin Dupond 33  Paris
Five  Johnny Ailta  46  Villetaneuse
Six   Scott  Askier 7   Villetaneuse

只需循環外部數組:

<table>

<?php foreach ($test as $person) { ?>   

    <tr>
        <td><?= $person['fname'] ?></td>
        <td><?= $person['lnom'] ?></td>
        <td><?= $person['age'] ?></td>
        <td><?= $person['city'] ?></td>
    </tr>

<?php } ?>

</table>

變量$person將包含子數組,您只需從中獲取所需的元素。

如果你想動態輸出每一列(不需要寫$person['fname']等),那么你可以創建一個嵌套循環:

<?php foreach ($test as $person) { ?>   

    <tr>

    <?php foreach ($person as $value) { ?>

        <td><?= $value ?></td>

    <?php } ?>

    </tr>

<?php } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM