Skip to content

FILE_SKIP_EMPTY_LINES only works with FILE_IGNORE_NEW_LINES #18120

Open
@DanielEScherzer

Description

@DanielEScherzer

Description

The following code (https://3v4l.org/Ys4MU):

<?php

$filename = tempnam('/tmp', 'testing-');
file_put_contents($filename, "First\n\nSecond\n");
$lines = file($filename, FILE_SKIP_EMPTY_LINES);
echo "Just FILE_SKIP_EMPTY_LINES:\n";
var_dump( ...$lines );

echo "Also FILE_IGNORE_NEW_LINES:\n";
$lines2 = file($filename, FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);
var_dump( ...$lines2 );
unlink($filename);

Resulted in this output:

Just FILE_SKIP_EMPTY_LINES:
string(6) "First
"
string(1) "
"
string(7) "Second
"
Also FILE_IGNORE_NEW_LINES:
string(5) "First"
string(6) "Second"

But I expected this output instead:

Just FILE_SKIP_EMPTY_LINES:
string(6) "First
"
string(7) "Second
"
Also FILE_IGNORE_NEW_LINES:
string(5) "First"
string(6) "Second"

PHP Version

8.3+

Operating System

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions