我怎样才能优化下面的代码,
我需要像这样运行 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/