(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::fscanf — Разбирает входные данные из файла по условиям формата
Метод считывает строку из файла и интерпретирует её по условиям
формата 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