Voting

: max(eight, five)?
(Example: nine)

The Note You're Voting On

Lucas Bustamante
3 years ago
Notice that the behavior of fgets after a seek changed on PHP 8.0.10, if you seek to line 50 and run fgets, it will give you line 50, while on PHP 5.1~8.0.0 it would give you line 51:

<?php

$file
= new SplTempFileObject();

for (
$i = 0; $i < 100; $i++) {
$file->fwrite("Foo $i\n");
}

$file->seek(50);

echo
json_encode(array(
array(
'line' => $file->key(), 'contents' => trim($file->fgets())),
array(
'line' => $file->key(), 'contents' => trim($file->fgets())),
array(
'line' => $file->key(), 'contents' => trim($file->fgets())),
),
JSON_PRETTY_PRINT);

?>

Results:

PHP 8.0.1+
[
{
"line": 50,
"contents": "Foo 50"
},
{
"line": 50,
"contents": "Foo 51"
},
{
"line": 51,
"contents": "Foo 52"
}
]

PHP 5.1 to 8.0.0
[
{
"line": 50,
"contents": "Foo 51"
},
{
"line": 51,
"contents": "Foo 52"
},
{
"line": 52,
"contents": "Foo 53"
}
]

<< Back to user notes page

To Top