PHP Tutorial - PHP fscanf() Function


The fscanf() function parses the input from an open file according to the specified format.


PHP fscanf() Function has the following syntax.



ParameterIs RequiredDescription
fileRequired.File to check

Possible format values:

  • %% - Returns a percent sign
  • %b - Binary number
  • %c - The character according to the ASCII value
  • %d - Signed decimal number
  • %e - Scientific notation (e.g. 1.2e+2)
  • %u - Unsigned decimal number
  • %f - Floating-point number (local settings aware)
  • %F - Floating-point number (not local settings aware)
  • %o - Octal number
  • %s - String
  • %x - Hexadecimal number (lowercase letters)
  • %X - Hexadecimal number (uppercase letters)

Additional format

Additional format values. These are placed between the % and the letter (example %.2f):

  • + Forces both + and - in front of numbers. By default, only negative numbers are marked)
  • ' Specifies what to use as padding. Default is space. Must be used together with the width specifier. Example: %'x20s (this uses "x" as padding)
  • - Left-justifies the variable value
  • [0-9] Sets the minimum width held of to the variable value
  • .[0-9] Sets the number of decimal digits or maximum string length

Multiple additional format values must be in the same order as above.


If only two parameters were passed to this function, 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.


<?php/*w w  w  .j a  v  a2s .co m*/
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\n")) {
    list ($name, $profession) = $userinfo;
    print $name;
    print $profession;