php - 在 FOR 循环中迭代 FOREACH 数组

标签 php mysql pdo

过去一周我一直在尝试学习 PHP,但我遇到了一个特定的问题。请原谅我措辞不当的标题,因为我还没有掌握术语。

这是我的代码:

$query = "SELECT $tablefields FROM $tablename";
$sth = $dbconn->prepare($query);

for ($x = 1; $x <=3; $x++){
    echo '<br /> This is an iteration ',$x;

      $sth->execute();
      foreach ($sth->fetchall() as $row) 
      { 
      $results = $row[$tablefields];
      echo $results, '<br />'
      ; 
      }

}

我希望代码输出如下:

This is iteration No. 1
Apple
Orange
Banana
Kiwi

This is iteration No. 2
Apple
Orange
Banana
Kiwi

This is iteration No. 3
Apple
Orange
Banana
Kiwi

现在,上面的代码可以很好地完成工作,但是当我想增加迭代 $x<=20 并将水果选项增加到 20 个项目时,页面渲染速度明显减慢。我想知道是否是因为代码查询了MySQL数据库20次?有没有更好的方法来构建代码以使其更加高效?

最佳答案

$x=1;
foreach ($sth->fetchall() as $row){ 
      echo '<br /> This is an iteration ',$x;
      $results = $row[$tablefields];
      echo $results; 
      $x++;
}

您可以使用上面的代码,而不是一起使用 for 循环和 foreach。

关于php - 在 FOR 循环中迭代 FOREACH 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237201/

相关文章:

Mysql - 来自 VIEW 的 "EXPLAIN SELECT"正在查看主表的所有行

php - 不止一步的foreach循环

php - ubuntu 20.04 上 Adminer 和 PHP 8.0 的问题

php - 搜索查询速度慢,基于 View 的记录集。如何加快速度?

php - 是否可以使用php将foxpro数据导出到excel

php - Redbean,多个多对多使用相同的对象

mysql - 困难的 mysql 查询取决于前一个查询的结果 - 可能吗?

php - 为许多记录批量插入 laravel

php - 匹配两个不带秒的日期并显示结果

php - PHP PDO事务复制