将阵列显示为表格

7 html php arrays html-table

我正在尝试使用PHP/HTML打印表.存储在数组中的数据如下:

Array ( [id] => 1 [first_name] => mike [last_name] => lastname )
Run Code Online (Sandbox Code Playgroud)

我的代码如下.它运行并且没有错误,但输出不是预期的.这是PHP/HTML代码:

<table>

<tr>
    <th>1</th>
    <th>2</th>
    <th>3</th>
</tr>

<?php foreach ($res as $item): ?>
<tr>
     <td><?php echo $item['id'] ?></td>
     <td><?php echo $item['first_name'] ?></td>
     <td><?php echo $item['last_name'] ?></td>
</tr>
<?php endforeach; ?>

</table>
Run Code Online (Sandbox Code Playgroud)

我得到的结果是项目的第一个字符:

1       2      3
1       1      1
m       m      m
l       l      l
Run Code Online (Sandbox Code Playgroud)

不确定我做错了什么?我真的很感激解释.

更新:

PHP CODE没有错误:

<?php 
    foreach ($result as $row) 
    { 
        echo '<tr>';
        echo '<td>' . $row['id'] . '</td>';
        echo '<td>' . $row['first_name'] . '</td>';
        echo '<td>' . $row['last_name'] . '</td>';
        echo '</tr>';
    }
?>
Run Code Online (Sandbox Code Playgroud)

这是我的数组中只有一个"行":

使用包含<PRE>标记的print_r($ result)输出$ result变量

Array
(
    [id] => 3
    [first_name] => Jim
    [last_name] => Dude
)
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

实际表结果:

ID    First Name  Last Name
3     3           3
J     J           J
D     D           D
Run Code Online (Sandbox Code Playgroud)

但是,如果我在数组中有0或超过1(意味着2或更多),它的工作完美.当我在阵列中只有一个"行"元素时,它几乎不起作用.例如,这个数组完美地运作:

  Array
    (
    [0] => Array
        (
            [id] => 3
            [first_name] => Jim
            [last_name] => Dude
        )

    [1] => Array
        (
            [id] => 4
            [first_name] => John
            [last_name] => Dude2
        )
    )
Run Code Online (Sandbox Code Playgroud)

我得到这个结果:

ID      First Name    Last Name
3       Jim         Dude
4       John            Dude2
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么.这个想法不知道表中有多少项将其读入$result变量,然后使用此变量打印HTML表中的所有元素.表可以包含O元素,1行元素,1行或更多行元素.

Jov*_*vic 3

您的数据结构不是矩阵而是数组:

Array ( [id] => 1 [first_name] => mike [last_name] => lastname )

你需要这样的东西来做你想做的事:

Array(
    [0] => Array ( [id] => 1 [first_name] => mike [last_name] => lastname ),
    [1] => Array ( [id] => 1 [first_name] => mike [last_name] => lastname )
    ........
);
Run Code Online (Sandbox Code Playgroud)

除此之外,代码看起来不错......