在我执行查询后,我使用foreach($ result作为$ row)从数据库中的每个找到的行中获取数据,并且我在内部使用for循环,我没有问题。
$sql="SELECT * FROM post ORDER BY id DESC";
$result = $conn->prepare($sql);
$result->execute();
$num_rows=$result->rowCount();
for($i=1;$i<=$num_rows;$i++){
foreach ($result as $row) {
echo "$i - $row[posttile]";break 1;
}
}
结果如下所示:
1 - Post a
2 - Post b
...
但是,我应用原理来打印数组中的每个值,foreach循环从一开始就不断重复:
for($i=1;$i<=$num;$i++){
foreach($array as $post){
echo "$i - $post";break 1;
}
}
但结果是它每次都打印一次吗?
1 - Post a
2 - Post a
3 - Post a
...
如何修复此代码以达到预期效果?