Почему PHP SplFileObject::current возвращает false в eof?

Используя PHP, я пытаюсь получить последнюю строку текстового файла.

$file = new SplFileObject($file_path, 'r+');
$file->seek(PHP_INT_MAX);
$apa=$file->current();
echo $apa;

Возвращает

BOOL (ложь)

Я подозреваю, что это потому, что указатель строки находится за концом файла или что-то? Метод key() работает правильно, почему не работает current()? Я могу заставить его работать менее красивыми решениями, но это меня очень раздражает. Это было бы отличное решение, если бы я мог заставить его работать.

PS Оператор echo только для примера, в действительности я бы продолжил использовать возвращенную строку для других целей (если бы я мог получить строку).

Редактировать. Это не дубликат. Я специально спрашиваю, почему SplFileObject::current не работает после FileObject::seek(PHP_INT_MAX). Получение номера строки не имеет значения.

0 ответов

Другие вопросы по тегам