[英]PHP - Display 2 dimension array with foreach
我想顯示一個二維數組。 我嘗試使用double foreach做到這一點,但我有點失落。 它返回是我一個空的TD,我不知道為什么。 我正在使用ZendFramework。 我應該使用其他解決方案並離開foreach解決方案,還是只是錯過了什么?
數組(一個數組中有7個數組,列始終相同):
array(7) {
[0]=>
array(11) {
["'01.drplapostej-1'"]=>
string(20) "01. DRP La poste J-1"
["import"]=>
string(1) "0"
["radm_ok"]=>
string(1) "0"
["radm_rejet"]=>
string(1) "0"
["radm_ko"]=>
string(1) "0"
["rpec_ok"]=>
string(1) "0"
["rpec_rejet"]=>
string(1) "0"
["rpec_ko"]=>
string(1) "0"
["factu_ok"]=>
string(1) "0"
["factu_rejet"]=>
string(1) "0"
["factu_ko"]=>
string(1) "0"
}
[1]=>
array(11) {
["'01.drplapostej-1'"]=>
string(20) "02. DRL La poste J-1"
["import"]=>
string(2) "80"
["radm_ok"]=>
string(1) "0"
["radm_rejet"]=>
string(1) "0"
["radm_ko"]=>
string(1) "0"
["rpec_ok"]=>
string(1) "0"
["rpec_rejet"]=>
string(1) "0"
["rpec_ko"]=>
string(1) "0"
["factu_ok"]=>
string(1) "0"
["factu_rejet"]=>
string(1) "0"
["factu_ko"]=>
string(1) "0"
}
我試圖做的是:
<table>
<tr>
<th>01.DRPLAPOSTEJ-1</th>
<th>IMPORT</th>
<th>RADM_OK</th>
<th>RADM_REJET</th>
<th>RADM_KO</th>
<th>RPEC_OK</th>
<th>RPEC_REJET</th>
<th>RPEC_KO</th>
<th>FACTU_OK</th>
<th>FACTU_REJET</th>
<th>FACTU_KO</th>
</tr>
<?php foreach ($this->suiviprodjours as $value): ?>
<?php foreach ($value as $key => $val): ?>
<tr>
<td <?php echo $val[$key]["01.DRPLAPOSTEJ-1"].'<br>'; ?></td>
</tr>
<?php endforeach; ?>
<?php endforeach; ?>
</table>
結果 :
您需要像下面一樣申請foreach()
:
<?php foreach($array as $arr){?>
<tr>
<?php foreach($arr as $value){?>
<td><?php echo $value;?></td>
<?php } ?>
</tr>
<?php } ?>
因此完整的代碼將是:
<table>
<tr>
<th>01.DRPLAPOSTEJ-1</th>
<th>IMPORT</th>
<th>RADM_OK</th>
<th>RADM_REJET</th>
<th>RADM_KO</th>
<th>RPEC_OK</th>
<th>RPEC_REJET</th>
<th>RPEC_KO</th>
<th>FACTU_OK</th>
<th>FACTU_REJET</th>
<th>FACTU_KO</th>
</tr>
<?php foreach($array as $arr){?>
<tr>
<?php foreach($arr as $value){?>
<td><?php echo $value;?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
您可以將此代碼段用於動態標頭和數據,
echo "<table>";
$keys = array_keys($arr[0]);
//if you want to make upper cases
$keys = array_map("strtoupper", $keys);
echo "<tr><th>";
echo implode("</th><th>", $keys);
echo "</th></tr>";
foreach ($arr as $key => $value) {
echo "<tr><td>";
echo implode("</td><td>", $value);
echo "</td></tr>";
}
echo "</table>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.