[英]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.