PHP 8.2.0 Beta 3 available for testing

SplFileObject::fscanf

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fscanf Разбирает строку файла в соответствии с заданным форматом

Описание

public SplFileObject::fscanf(string $format, mixed &...$vars): array|int|null

Читает строку из файла и разбирает её в соответствии с заданным форматом format.

Любые пробелы в строке format соответствует любому пробелу в строке из файла. Это означает, что символ табуляции (\t) в строке формата может соответствовать одному пробелу в строке файла.

Список параметров

format

Интерпретируемый формат для параметра string, который описан в документации функции sprintf() со следующими отличиями:

  • Функция не ориентирована на локализацию.
  • Не поддерживаются значения F, g, G и b.
  • D обозначает десятичное число.
  • i обозначает целое число с определением системы счисления.
  • n обозначает количество символов, обработанных на данный момент.
  • s останавливает чтение на любом символе пробела.
  • * вместо argnum$ подавляет присвоение данной спецификации преобразования.

vars

Дополнительные строки форматирования.

Возвращаемые значения

Если передан только один параметр, распознанные в строке значения будут помещены в массив. Если переданы дополнительные строки форматирования, функция вернёт количество шаблонов, с которыми совпала строка. Необязательные параметры должны передаваться по ссылке.

Примеры

Пример #1 Пример использования SplFileObject::fscanf()

<?php
$file 
= new SplFileObject("misc.txt");
while (
$userinfo $file->fscanf("%s %s %s")) {
    list (
$name$profession$countrycode) = $userinfo;
    
// Работаем с $name $profession $countrycode
}
?>

Содержимое файла users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Смотрите также

  • fscanf() - Обрабатывает данные из файла в соответствии с форматом
  • sscanf() - Разбирает строку в соответствии с заданным форматом
  • printf() - Выводит отформатированную строку
  • sprintf() - Возвращает отформатированную строку

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top