我正在尝试使用PHP/HTML打印表格。数据存储在数组中,如下所示:
Array ( [id] => 1 [first_name] => mike [last_name] => lastname )
代码如下。它运行并且没有错误,但是输出不符合预期。下面是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>
我得到的结果是项目的第一个字符:
不确定我做错了什么?你能解释一下吗。
更新:
没有错误的PHP代码:
<?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>';
}
?>
这是我的数组,其中只有一行:
使用print_r($result)和标记 Package 的$result变量的输出< PRE >
Array
(
[id] => 3
[first_name] => Jim
[last_name] => Dude
)
下面是我得到的结果:
实际表结果:
ID First Name Last Name
3 3 3
J J J
D D D
但是,如果数组中有0或多于1(意味着2或更多),它就可以完美地工作。它只是不工作时,我只有一个“行”的元素内阵列。例如这个数组,工作完美:
Array
(
[0] => Array
(
[id] => 3
[first_name] => Jim
[last_name] => Dude
)
[1] => Array
(
[id] => 4
[first_name] => John
[last_name] => Dude2
)
)
我得到这个结果:
ID First Name Last Name
3 Jim Dude
4 John Dude2
我真的不知道我做错了什么。这个想法是不知道有多少项目是在一个表读入$result
变量,然后使用这个变量打印所有元素内的HTML表。表可以包含O个元素、1行元素、1行或多行元素。
9条答案
按热度按时间ibrsph3r1#
不要删除foreach循环。如果没有看到你构建数组的代码,我猜你会这样做:
而实际上你可能想做的是
括号[ ]将所有值的数组添加到数组中。通过这种方式,您可以将每个值作为值的集合而不是单个值进行循环。
wgx48brx2#
你的数据结构不是矩阵而是数组:
Array ( [id] => 1 [first_name] => mike [last_name] => lastname )
你需要这样的东西来做你想做的事情:
除此之外,代码似乎很好……
oogrdqng3#
我写这个是为了将单个数组值打印到表中
kyks70gy4#
这就是我如何解决我的网页上的一个类似问题。我希望页面显示一个数组的所有类一个特定的老师教使用会话变量。我希望,即使这个主题可能与你无关,但总的要点会帮助人们。
omvjsjqw5#
如果数组是std对象类型,则不能使用[],而是使用->来获取特定的实体
6l7fqoea6#
这将以比print_r…更易读的格式显示任何多维数组。可以升级为不同的颜色,以连续的单元格快速滚动通过阵列...如果你用鼠标扫过数组的名字(键)或值,你会发现没有数组的地方是键/值…视觉上不愉快但有效。
vh0rcniy7#
这也将工作:
ssgvzors8#
除了@Phrank,我这样做对我更有用
o7jaxewo9#