我正在尝试使用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行或更多行元素.
您的数据结构不是矩阵而是数组:
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)
除此之外,代码看起来不错......