php - 循环代码优化

标签 php for-loop optimization

我怎样才能优化下面的代码,

我需要像这样运行 3 组循环:

for($i=1;$i<=$count-1;$i++){    
  for($j=$i+1;$j<=$count;$j++){
  // do some query use $i and $j

  }
}
for($i=1;$i<=$count-2;$i++){
   for($j=$i+1;$j<=$count-1;$j++){   
     for($k=$j+1;$k<=$count;$k++){
       // do some query use $i and $j and $k
     }
  }
}
for($i=1;$i<=$count-3;$i++){
   for($j=$i+1;$j<=$count-2;$j++){   
      for($k=$j+1;$k<=$count-1;$k++){
     for($l=$k+1;$l<=$count;$l++){ 
       // do some query use $i and $j and $k and $l
       }
     }
  }
}

有没有办法简化代码,或许可以将循环连接在一起?

谢谢!

最佳答案

应该这样做(未经测试):

for($i = 1; $i <= $count - 3; $i++) {
    for($j = $i + 1; $j <= $count; $j++) {
        // i,j query

        if($j > $count - 2) {
            continue;
        }

        for($k = $j + 1; $k <= $count; $k++) {
            // i,j,k query

            if($k > $count - 1) {
                continue;
            }

            for($l = $k + 1; $l <= $count; $l++) {
                // i,j,k,l query
            }
        }
    }
}

请注意,查询不再按原来的顺序排列。

如前所述,如果不知道您正在运行的查询,就无法进一步优化它。

关于php - 循环代码优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3185288/

相关文章:

css - 嵌套选择器的性能影响和 LESS

c - 启用 for 循环的强制矢量化

php - 想象一下。将颜色更改为透明

php - 如何抓取json数据并存入数据库

ruby - 在 Jekyll Liquid 中对 forloop.index 使用模数

python - 使用嵌套列表理解提高执行速度

php - 如何使用 MySQL 通过 PHP 向 INSERT 添加日期和时间戳?

php - 初始用户密码导入MYSQL

ios - 在 Swift 中将文本添加到 TextView

c++ - 如何分析 dyld 加载图像时调用初始化函数的时间?