我有一个foreach,它为每个用户遍历我的数据库。
<?php
foreach($users as $user) {
?>
<tr>
<td>
<?php
for ($i=1; $i < 52; $i++) {
echo $i;
}
?>
</td>
<td>
<?php echo $user['firstname']; ?>
</td>
</tr>
<?php
}
?>
这循环通过数据库并回显用户名,现在我试图在其中构建一个for循环,以便每个用户都有一个数字,我以一个非常基本的for循环为例(稍后会更改)。 问题是我为每个用户打印了所有数字,但我只想为用户打印一次。我该如何解决这个问题。
答案 0 :(得分:5)
如果您想为用户提供唯一索引号,则不需要额外的循环。
只需添加增量变量:
并在现有循环中增加它。
<?php
$i=0;
foreach($users as $user) {
++$i; // For printing first user, it will be 1 not 0.
// Therefore, increment is placed before printing name.
?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $user['firstname']; ?></td>
</tr>
<?php
}
?>
答案 1 :(得分:1)
这应该足以实现你想要做的事情:
因为foreach()已经创建了一个循环,所以不需要你的for(),你只需要使用这个循环来增加一个值(这里称为$ i)然后显示它。
此外,您应该避免打开您的php标签数千次,以便更好地了解您的代码:)
<?php foreach ($users as $key => $user) : ?>
<tr>
<td><?php echo $key; ?></td>
<td><?php echo $user['firstname']; ?></td>
</tr>
<?php endforeach; ?>
答案 2 :(得分:0)
<?php
$i=1;
foreach($users as $user) {
?>
<tr>
<td>
<?php
echo $i++;
?>
</td>
<td>
<?php echo $user['firstname']; ?>
</td>
</tr>
<?php
}
?>
答案 3 :(得分:-1)
尝试在foreach中使用Private Sub GMapControl1_Paint(sender As Object, e As PaintEventArgs) Handles GMapControl1.Paint
Dim logo As Image = image.FromFile("C:\transparentLogo.png")
e.Graphics.DrawImage(logo, GMapControl1.Width - logo.Width - 5, 5, logo.Width, logo.Height)
End Sub
key