PHP从文件中每隔3行读取一次,并将其保存到另一个文件中

PHP从文件中每隔3行读取一次,并将其保存到另一个文件中,php,Php,我想从文件1中每隔3行读取一行,并将其另存为新文件2 这是我正在尝试的,但它不起作用。有什么想法吗 $myfile = file("file1.txt"); $lines = file($myFile); $newFileContent= $lines[2]; file_put_contents("file2.txt", $newFileContent); 因此,如果file1.txt包含以下内容: 1 2 3 4 5 6 file2.txt应仅包含以下内容: 3 6 实际最简单的方法是使

我想从文件1中每隔3行读取一行,并将其另存为新文件2

这是我正在尝试的,但它不起作用。有什么想法吗

$myfile = file("file1.txt");
$lines = file($myFile);
$newFileContent= $lines[2];
file_put_contents("file2.txt", $newFileContent);
因此,如果file1.txt包含以下内容:

1
2
3
4
5
6
file2.txt应仅包含以下内容:

3
6
实际最简单的方法是使用普通for循环。数组是非关联的,因此在整个数组中使用昂贵的foreach是没有意义的

要准确地复制示例数据,只需使用以下内容:

$lines = file('file1.txt');

$newContent = '';

$len = count($lines); // saves us from calling count() on every iteration

for ($i = 2; $i < $len; $i += 3) {
    $newContent .= $lines[$i];
}

file_put_contents('file2.txt', $newContent);

看看模运算符。这将解决您的问题。我确实知道,但不知道它是如何应用的。为什么要调用文件两次,一次调用实际文件,一次调用第一个文件返回的数组?是的,对不起,这是一个错误,在第一行输入了错误。告诉我您对模运算做了什么。foreach比,它有多贵?因为您要迭代每个元素,而不是只迭代第三个元素?