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

SplFileObject::fscanfParses input from file according to a format


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

Reads a line from the file and interprets it according to the specified format.

Any whitespace in the format string matches any whitespace in the line from the file. This means that even a tab (\t) in the format string can match a single space character in the input stream.



string 的格式解释,在 sprintf() 的文档中进行了描述,但有以下区别:

  • 函数不支持区域设置。
  • 不支持 FgGb
  • D 代表十进制数字。
  • i stands for integer with base detection.
  • n 代表到目前为止处理的字符数。
  • s 在任何空白字符处停止阅读。
  • * 代替 argnum$ 禁止分配此转换规范。


The optional assigned values.


If only one parameter is passed to this method, the values parsed will be returned as an array. Otherwise, if optional parameters are passed, the function will return the number of assigned values. The optional parameters must be passed by reference.


示例 #1 SplFileObject::fscanf() example

= new SplFileObject("misc.txt");
while (
$userinfo = $file->fscanf("%s %s %s")) {
list (
$name, $profession, $countrycode) = $userinfo;
// Do something with $name $profession $countrycode

Contents of users.txt

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


add a note

User Contributed Notes

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