PHP - 使用foreach显示2维数组

I would like to display a 2 dimension array. I tried to use a double foreach to make it but im a bit lost. It return's me an empty td and i dont know why. Im using ZendFramework. Should i use an other solution and leave the foreach solution or i just miss something ?

The array ( there is 7 arrays inside one array and the columns are always the same ) :

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"
}

What i tried to do :

<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>

The result :

enter image description here

You need to apply foreach() like below:-

<?php foreach($array as $arr){?>
    <tr>
        <?php foreach($arr as $value){?>
            <td><?php echo $value;?></td>
        <?php } ?>
    </tr>
<?php } ?>

So full code will be:

<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>

You can use this snippet for dynamic header and data,

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>";

Demo.