-1

私はこのような配列を持っています

Array  ([0] => 8 [1] => 8 [2] => 1 [3]=> 7 [4] => 8 )  

PHPでForEachを使用して、上記の配列でテーブル行を作成しました。しかし、上記の配列を見ると、3番目の行に7つのTDが作成され、4番目の行に8つのTDが作成されます。行の終わりに表示する代わりに、行の先頭にある3番目の行の空白のTDを移動する必要があります。

<table border="1"><tbody>
  <tr align="right">
    <td align="right" colspan="0" rowspan="0" id="td_02">02</td>
    <td align="right" colspan="0" rowspan="0" id="td_06">06</td>
    <td align="right" colspan="0" rowspan="0" id="td_10">10</td>
    <td align="right" colspan="0" rowspan="0" id="td_14">14</td>
    <td align="right" colspan="0" rowspan="0" id="td_18">18</td>
    <td align="right" colspan="0" rowspan="0" id="td_22">22</td>
    <td align="right" colspan="0" rowspan="0" id="td_26">26</td>
    <td align="right" colspan="0" rowspan="0" id="td_30">30</td>
  </tr>
  <tr align="right">
    <td align="right" colspan="0" rowspan="0" id="td_01">01</td>
    <td align="right" colspan="0" rowspan="0" id="td_05">05</td>
    <td align="right" colspan="0" rowspan="0" id="td_09">09</td>
    <td align="right" colspan="0" rowspan="0" id="td_13">13</td>
    <td align="right" colspan="0" rowspan="0" id="td_17">17</td>
    <td align="right" colspan="0" rowspan="0" id="td_21">21</td>
    <td align="right" colspan="0" rowspan="0" id="td_25">25</td>
    <td align="right" colspan="0" rowspan="0" id="td_29">29</td>
  </tr>
  <tr align="right">
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
    <td>XX</td>
  </tr>
  <tr align="right">
    <td align="right" colspan="0" rowspan="0" id="td_03">03</td>
    <td align="right" colspan="0" rowspan="0" id="td_07">07</td>
    <td align="right" colspan="0" rowspan="0" id="td_11">11</td>
    <td align="right" colspan="0" rowspan="0" id="td_15">15</td>
    <td align="right" colspan="0" rowspan="0" id="td_19">19</td>
    <td align="right" colspan="0" rowspan="0" id="td_23">23</td>
    <td align="right" colspan="0" rowspan="0" id="td_27">27</td>
  </tr>
  <tr align="right">
    <td align="right" colspan="0" rowspan="0" id="td_31">31</td>
    <td align="right" colspan="0" rowspan="0" id="td_04">04</td>
    <td align="right" colspan="0" rowspan="0" id="td_08">08</td>
    <td align="right" colspan="0" rowspan="0" id="td_12">12</td>
    <td align="right" colspan="0" rowspan="0" id="td_16">16</td>
    <td align="right" colspan="0" rowspan="0" id="td_20">20</td>
    <td align="right" colspan="0" rowspan="0" id="td_24">24</td>
    <td align="right" colspan="0" rowspan="0" id="td_28">28</td>
  </tr>
</tbody></table>

4

1 に答える 1

1

テーブルをどのように生成しているのかまったくわかりませんが、..

max「空白」のtdの問題を回避する1つの方法は、すべての行に同じ量のtdがあることを確認することです。これは、配列の値を見つけることで実行できます。

例えば:

<?php
    $row_array = array(8, 8, 1, 7, 8);
    $num_tds = max($row_array);
?>
<table border="1" cellpadding="3" cellspacing="3">
    <?php foreach($row_array as $row) : ?>
    <tr>
        <?php for ($i = 0; $i < $num_tds; $i++) : ?>
        <td>&nbsp;</td>
        <?php endfor; ?>
    </tr>
    <?php endforeach; ?>
</table>

あなたのコードを実際に見ることなく、私はブラインドソリューションを提供しているだけですが、それが役立つことを願っています。

于 2012-11-24T10:24:52.157 に答える