0

在 PHP for循环中以

for (init counter; test counter; increment counter)

这可以形成一条很长的线。
将其分解成较短部分的最佳方法是什么?

例子:

for ($currentLine = fgets ($fileToAnalyse); ! preg_match("^0 @Individual ", $currentLine); $currentLine = fgets($fileToAnalyse)) {/*...*/}
4

1 回答 1

1

我认为对于特定示例,您使用了错误的循环。您不知道需要迭代多少次,因此正确的循环应该是while. 你也不会有太长的线的问题。

$currentLine = fgets($fileToAnalyse);

while(!preg_match("^0 @Individual ", $currentLine)) {
    // code...
    $currentLine = fgets($fileToAnalyse);
}

通常使用 for 循环,您几乎不会得到很长的行,因为它最常用于已知次数的确定迭代。

但是为了缩短for一般的循环,你可以做一些奇怪的事情,比如在第一行之外导出变量的定义(我不推荐),比如:

$currentLine = fgets ($fileToAnalyse);
for (;! preg_match("^0 @Individual ", $currentLine);) {
    /*...*/
     $currentLine = fgets($fileToAnalyse)
}
于 2020-06-07T21:02:14.750 回答