fscanf
从文件中格式化输入
PHP 4.0.0及以上版本
fscanf() 函数从文件指针读取数据,按照指定的格式将其解析并返回。
bool fscanf ( resource $handle , string $format [, mixed &$... ] )
如果成功,则返回成功匹配并赋值的项数。如果失败,则返回FALSE。
假设我们有一个包含文本数据的文件,我们想从文件中读取特定格式的内容。
假设文件"data.txt"内容如下:
John 25 Alice 30 Bob 22
下面是使用fscanf()函数读取文件数据并处理的示例代码:
<?php $file = fopen("data.txt", "r"); // 打开文件 while (!feof($file)) { fscanf($file, "%s %d", $name, $age); // 读取一个字符串和一个整数 echo "Name: $name, Age: $age\n"; } fclose($file); // 关闭文件 ?>
在此代码中,我们首先使用fopen()打开"data.txt"文件,并使用fscanf()逐行读取文件。fscanf()的格式字符串"%s %d"表示按顺序读取一个字符串和一个整数,并将其分别存储到$name和$age变量中。循环会一直继续,直到文件结束为止(feof()函数检查文件是否读取完)。最后,通过echo语句输出每个人的名字和年龄。