在 PHP for循环中以
for (init counter; test counter; increment counter)
这可以形成一条很长的线。
将其分解成较短部分的最佳方法是什么?
例子:
for ($currentLine = fgets ($fileToAnalyse); ! preg_match("^0 @Individual ", $currentLine); $currentLine = fgets($fileToAnalyse)) {/*...*/}
在 PHP for循环中以
for (init counter; test counter; increment counter)
这可以形成一条很长的线。
将其分解成较短部分的最佳方法是什么?
例子:
for ($currentLine = fgets ($fileToAnalyse); ! preg_match("^0 @Individual ", $currentLine); $currentLine = fgets($fileToAnalyse)) {/*...*/}
我认为对于特定示例,您使用了错误的循环。您不知道需要迭代多少次,因此正确的循环应该是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)
}