将php数组填充到HTML表中

时间:2011-07-24 18:15:15

标签: php html

将php数组填充到HTML表格

我有一个php数组(比如$ rows2)中的数据,它以键值对的形式给出了以下输出。 我正在尝试将此数据格式化为HTML表格:

0 => Month:
1 => 07/2011,
2 => 7-8
3 => / 1432 A.H
4 =>  
5 => Location:
6 => Plainfield,
7 => NJ,
8 => USA
9 => Calculation Method:
10 => Value 10
11 =>  
12 => Juristic Method:
13 => Standard 

我尝试使用以下代码填充表格:

echo '<table border=1>';
while (list($key, $value) = each($rows2)) {

    echo $value2.$value;
        if($i%5 == 0){
            echo '<tr><td>'.$value2.'</td></tr>';

        }
        $value2='';
    $i++;
}
echo '</table>';

我得到以下输出:

--------------------------------------------------------
Month:      |   07/2011     |   7-8     |   1432 A.H
--------------------------------------------------------
Location:   |   Plainfield  |   NJ      |   USA
--------------------------------------------------------
Calculation |   ValueX      |  Juristic |   ValueY
Method:     |               |  Method:  |
--------------------------------------------------------

我正在尝试将最后一行拆分为2行,然后将第二行拆分为第二行  看起来像下面的结果。

--------------------------------------------------------
Month:      |   07/2011     |   7-8     |   1432 A.H
--------------------------------------------------------
Location:   |   Plainfield  |   NJ      |   USA
--------------------------------------------------------
Calculation |           ValueX      
Method:     |           
--------------------------------------------------------
Juristic    |           ValueY
Method:     |               
--------------------------------------------------------

有人可以帮忙吗?提前谢谢。

3 个答案:

答案 0 :(得分:3)

如果以下情况属实:

  1. 行数始终相同
  2. 列数始终相同
  3. 然后你可能最好只是将数组的部分插入表中,如下所示:

    <table>
    <tr>
        <td><?= $array[0]?></td>
        <td><?= $array[1]?></td>
        <td><?= $array[2]?></td>
        <td><?= $array[3]?></td>
    </tr>
    <tr>
        <td><?= $array[9]?></td>
        <td colspan='3'><?= $array[10]?></td>
    </tr>
    <tr>
        <td><?= $array[12]?></td>
        <td colspan='3'><?= $array[13]?></td>
    </tr>
    </table>
    

答案 1 :(得分:3)

<table>
<?php
foreach( $row in $rows2) { 
    echo '<tr>';
    echo '<td>' . $row[0] . '</td>';
    echo '<td>' . $row[1] . '</td>';
    echo '<td>' . $row[2] . '</td>';
    echo '<td>' . $row[4] . '</td>';
    echo '</tr><tr>';
    echo '<td>' . $row[5] . '</td>';
    echo '<td>' . $row[6] . '</td>';
    echo '<td>' . $row[7] . '</td>';
    echo '<td>' . $row[8] . '</td>';
    echo '</tr><tr>';
    echo '<td>' . $row[9] . '</td>';
    echo '<td colspan="3">' . $row[10] . '</td>';
    echo '</tr><tr>';
    echo '<td>' . $row[12] . '</td>';
    echo '<td colspan="3">' . $row[13] . '</td>';
    echo '</tr>';
} // end foreach
?>
</table>

答案 2 :(得分:1)

我认为如果你只是将HTML和PHP混合在一起而不是像你正在做的那样在循环中进行它会更容易。

echo "<table>
<tr>
    <td>{$arr[0]}</td>
    <td>{$arr[1]}</td>
    <td>{$arr[2]}</td>
    <td>{$arr[3]}</td>
</tr>
<tr>
    <td>{$arr[9]}</td>
    <td colspan='3'>{$arr[10]}</td>
</tr>
<tr>
    <td>{$arr[12]}</td>
    <td colspan='3'>{$arr[13]}</td>
</tr>
</table>";