2012-11-24 109 views
-1

我有阵列这样表行计数混乱PHP FOREACH阵列

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

和我形成表行与PHP使用的ForEach上述阵列。但是当你看上面的阵列时,会在第3行创建7个TD,在第4个行创建8个TD。我需要在行的开始处的第三行移动空白的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

还显示您的PHP代码与您创建的HTML部分。 而且最好也描述该表应该如何,因为这不是从您的初始职位100%决定性的。 – Thomas

+0

我不在第三行看到'空白TD'... – arkascha

回答

1

我有绝对不知道你是如何生成你的表,但..避免了“空白” TD问题

一种方法是确保所有行有相同数量的td,可以通过查找数组的值max来完成。

例如:

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

没有真正看到你的代码,我只是提供盲人解决方案,但我希望它能帮助。

+0

谢谢戴尔..你的主意很有效! –