php fscanf根据指定的格式对来自打开的文件的输入进行解析

时间:2016-09-06
php fscanf()函数用于读取文件并从文件中格式化输入,本文章向大家介绍fscanf函数的语法和使用实例,需要的朋友可以参考一下。

php fscanf函数介绍

fscanf函数从文件中格式化输入 

语法:

mixed  fscanf  ( resource $handle  , string $format )

fscanf()  函数和 sscanf()  相似,但是它从与 handle 关联的文件中接受输入并根据指定的 format(定义于 sprintf()  的文档中)来解释输入。 

格式字符串中的任何空白会与输入流中的任何空白匹配。这意味着甚至格式字符串中的制表符 \t 也会与输入流中的一个空格字符匹配。 

每次调用 fscanf()  都会从文件中读取一行。 

参数:

  1. handle 文件系统指针,是典型地由 fopen()  创建的 resource (资源)。
  2. format 参数格式是 sprintf()  文档中所描述的格式。 

返回值:

如果只给此函数传递了两个参数,解析后的值会被作为数组返回。否则,如果提供了可选参数,此函数将返回被赋值的数目。 可选参数必须用引用传递。

php fscanf函数实例

<?php
   $fh = fopen("data.txt", "r");
   while ($user = fscanf($fh, "%d-%d-%d")) {
      list ($part1,$part2,$part3) = $user;
      print $part1;
      print $part2;
      print $part3;
      
   }
   fclose($fh);
?>

再如:

<?php
$handle  =  fopen ( "users.txt" ,  "r" );
while ( $userinfo  =  fscanf ( $handle ,  "%s\t%s\t%s\n" )) {
    list ( $name ,  $profession ,  $countrycode ) =  $userinfo ;
     //... do something with the values
 }
 fclose ( $handle );
 ?> 

输出结果:

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